Problem
You have a script which runs too long and you want to time it out, after a given number
of seconds.
Solution
Useful bit of code to time-out a section of your Perl script, via the alarm function.
See the example tab.
Example
#!/usr/bin/perl
eval {
local %SIG;
$SIG{ALRM}=
sub{ die "timeout reached, after 20 seconds!n"; };
alarm 20;
print "sleeping for 60 secondsn";
sleep 60; # This is where to put your code, between the alarms
alarm 0;
};
alarm 0;
if($@) { print "Error: $@n"; }
exit(0);
__END__
View screen shot demo of perl timeout
This can generate zombies ….
like if we put a
system (” ping hostname ” );
the ping will be still running …