my $pid; if (($pid = fork()) == 0) { # child process exec 'some/program','and', 'args'; } else { # parent process $SIG{'CHLD'} = \&sub_that_handles_child_exit_notify; } # dosomething with $pid... my $is_alive = kill 0, $pid; # see if still alive kill 15, $pid; # send a SIGTERM