$cmd = qq{nohup perl.pl &}; my $pid = fork(); if($pid == 0) { print STDERR "parent pid=$$ child pid=$pid\n"; }elsif (defined $pid) { print STDERR "child pid=$$ pid=$pid\n"; # Must do setpgrp as child for nohup and job control stuff... setpgrp(0, $$) || die "Cannot do SetGroup\n"; exec "$cmd" || die "Bad exec $!"; }