in reply to Timeout on script
package Timed; use strict; use warnings; use Exporter (); our @ISA = qw /Exporter/; our @EXPORT = qw /timed_system/; sub timed_system { my $time = shift; my $pid; local $SIG {ALRM} = sub {kill 15, $pid or die "kill: $!"; die "Timeout!"}; # Just SIGTERM. eval { $pid = fork; die "Fork failed: $!" unless defined $pid; unless ($pid) { exec @_; die "Exec failed: $!"; } alarm $time; waitpid $pid => 0; }; die $@ if $@ && $@ !~ /^Timeout!/; } 1;
Abigail
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Timeout on script
by hotshot (Prior) on Jan 27, 2004 at 06:39 UTC | |
by Abigail-II (Bishop) on Jan 27, 2004 at 08:42 UTC | |
by hotshot (Prior) on Jan 27, 2004 at 09:28 UTC |