eval { local $SIG{ALRM}=sub{die}; alarm 10; # fork child # exec in child (exec made in child to separate exec failures from program exit code) };