http://www.perlmonks.org?node_id=1047161

atanug has asked for the wisdom of the Perl Monks concerning the following question:

I am using Proc::Simple module to fork 5 child processes. I polling the processes to check if the processes are still running or not. If poll function does not return anything, we are using the exit_status() function to check the exit status of the child process.

Sometime it is happening like, the exit_status function is returning -1 although I can see that the child process has done it's job. I am not getting this problem everyday. But every 5-7 days I can see in the log that one of the processes returned exit status as -1.

Please find the sample code snippet below.

my $proc = Proc::Simpler->new(); .... ... if($proc->poll){ # process is running } else { # process not running # call exit_status function # my $exit_status = $proc->exit_status(); # if exit_status returns true, log error for that process }

I want to know why it happens like sometime, the exit_status returns -1 and what should be done to resolve this issue?