sub _timedFork1 { my ($command, $time) = @_; my @resp1; my $pid; my @pids; local $SIG{ALRM} = sub {kill -15, $pid or die "kill: $!"; die "TIMEOUT!"; }; if ($pid = fork()) { push(@pids, $pid); alarm $time; waitpid($pid, 0); } elsif (defined $pid) { @resp1 = `$command`; return @resp1; exit; } return ($pid, @resp1) }