Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: YA fork() question: catching runaway and erroneous processes

by stefan k (Curate)
on Jul 28, 2004 at 09:18 UTC ( #377973=note: print w/replies, xml ) Need Help??

in reply to YA fork() question: catching runaway and erroneous processes

I could help myself. At least this works with my testing programms.
  1. I need to wait for the $pid instead of -1
  2. I can check $? for the exit status
  3. I need to check the result of waitpid for >0 instead of == -1
So now the relevant code section reades likes this:
if ($pid == 0) { # child print " child: exec\n"; exec("$prg arguments"); exit; } else { # parent print " parent: wait\n"; my $time = time(); my $kill_flag = 1; while (time() - $time < $timeout) { sleep 1; my $kid = waitpid($pid,WNOHANG); my $exit_value = $? >> 8; if ($kid > 0) { $kill_flag = 0; $return_code = !$exit_value; last; } } if($kill_flag) { kill(9, $pid); $return_code = 0; } } return $return_code;
Thanks for reading anyway :-)

Regards... Stefan
you begin bashing the string with a +42 regexp of confusion

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://377973]
[perldigious]: A question since I'm ignorant of what's normal for database management... Do admins change column names a lot in databases?
[perldigious]: On occasion my scripts break, because they will do something that seems laregly pointless to me... like in this case, changing a column name from "ABC Category" to "ABC Category Override".
[perldigious]: Being the ignorant one, my initial reaction to that is, "that's sort of a dick move, a lot of people like me expect column names like that to stay the same, why the hell would you change them like that for seemingly no good reason?"
[perldigious]: Or is my irritation/ frustration well founded?

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (9)
As of 2017-05-25 13:27 GMT
Find Nodes?
    Voting Booth?