# my $status = system($command); # Our better version of system() my $status; my $pid = open(KID_STDIN, "|-"); if (not defined $pid) { die "cannot fork: $!; bailing out"; } if ($pid) { ## parent close(KID_STDIN); $status = $?; } else { POSIX::setsid(); # disconnect from controlling terminal open(STDOUT, ">> $_LogFileName"); open(STDERR, '>&STDOUT'); exec($command); }