kavkazi has asked for the wisdom of the Perl Monks concerning the following question:
I have a simple perl script that calls a shell script which for whatever reason "hangs". I want to simply force a time out after 20 seconds. I did a lot of research and was brought to perl Alarms. It works when I test with sleep(), but when running the shell script the alarm doesn't kick in. Can someone please help???? Here is my code. Thanks in Advance.
#!/bin/perl use strict; use warnings; use CGI; my $q = new CGI; print $q->header; eval { local %SIG; $SIG{ALRM}= sub{ die "timeout reached, after 20 seconds!\n"; }; alarm 20; #sleep (60); system("/opt/bea/domain/fsa/scripts/start.sh"); alarm 0; }; alarm 0; if($@) { print "Error: $@\n"; } exit(0);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: perl alarms not working as expected
by betterworld (Curate) on Oct 15, 2012 at 21:23 UTC | |
by kavkazi (Initiate) on Oct 16, 2012 at 13:18 UTC | |
by betterworld (Curate) on Oct 16, 2012 at 17:20 UTC | |
by kavkazi (Initiate) on Oct 16, 2012 at 19:18 UTC | |
by betterworld (Curate) on Oct 16, 2012 at 22:08 UTC |
Back to
Seekers of Perl Wisdom