Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Getting exit status from forked script

by hotshot (Prior)
on Jan 29, 2004 at 12:51 UTC ( #324922=perlquestion: print w/ replies, xml ) Need Help??
hotshot has asked for the wisdom of the Perl Monks concerning the following question:

Hello all!

I doing something as follows to run an external script with timeout on it + catching it's STDOUT:
eval { alarm($timeout); pipe(READ,WRITE); if ($pid = fork) { $SIG{CHLD} = sub { 1 while (waitpid(-1, WNOHANG)) > 0}; close(WRITE); } else { die "Cannot fork: $!" unless defined $pid; open(STDOUT, ">&=WRITE") or die "Cannot redirect STDOUT: $!"; close(READ); exec ("$extScript") or die "Cannot exec $extScript: $!"; } while(<READ>) { push(@output, $_); } close(READ); alarm(0); }; ## End eval if ($@) { if ($@ =~ /Timeout/) { print "Reached timeout\n"; } else { alarm(0); die; } } else { print Dumper(\@output); }
That's working fine.

The question is how can I get the exit status of the script if it was finished before reached timeout.

Thanks

Comment on Getting exit status from forked script
Download Code
Re: Getting exit status from forked script
by Abigail-II (Bishop) on Jan 29, 2004 at 13:06 UTC
    The exit value will be available in $? after you've reaped the process with waitpid. The manual of waitpid could have told you that as well.

    Abigail

Re: Getting exit status from forked script
by Ao (Friar) on Jan 29, 2004 at 14:01 UTC
    It looks like you've taken the main if($pid=fork) - else code from the Perl Cookbook 16.10 but you've forgotten about waitpid. Either go back to the Cookbook and look closer or use perldoc -f waitpid to read up on its use. 'tis pretty straight-forward.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://324922]
Approved by rinceWind
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (13)
As of 2014-08-20 07:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (107 votes), past polls