sub DB::get_fork_TTY { require File::Temp or return ''; my ( $FH, $filename ) = File::Temp::tempfile( UNLINK => 1 ); system( qq{screen -t 'Child $$' sh -c "tty > $filename ; sleep 1000000"} ) == 0 or return ''; chomp ( my $tty = <$FH> ); return $tty; } #### #!/usr/bin/perl -w use strict; sub DB::get_fork_TTY { require File::Temp or return ''; my ( $FH, $filename ) = File::Temp::tempfile( UNLINK => 1 ); system( qq{screen -t 'Child $$' sh -c "tty > $filename ; sleep 1000000"} ) == 0 or return ''; chomp ( my $tty = <$FH> ); return $tty; } if ( my $child = fork ) { $DB::single = 1; print "We're in the parent! ($child)\n"; } else { die "Can't fork" unless defined $child; $DB::single = 1; print "We're in the child!\n"; } exit;