Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Re: Daemon causing zombies under 5.8

by Helter (Chaplain)
on Jan 13, 2003 at 21:14 UTC ( #226600=note: print w/replies, xml ) Need Help??

in reply to Re: Daemon causing zombies under 5.8
in thread Daemon causing zombies under 5.8

I was intrigued so I looked up deamon and fork to see if I could find an issue.
On the fork page I answered one of my questions, what does the code:
child{ .....}
do. Looking at this page there is this code as well, which is probably what you want to add, and is probably your source of zombies:
use Proc::Fork; child { # child code goes here. } parent { my $child_pid = shift; # parent code goes here. waitpid $child, 0; } error { # Error-handling code goes here (if fork() fails). }; # Note the semicolon at the end. Necessary if other statements follow +.

So as I suspected it looks like you need the waitpid() call.

One question I still have, is it normal for your loop to be recursive? If this code is supposed to run indefinitly are you not going to run into stack issues? Or is there something else that prevents this?


Replies are listed 'Best First'.
Re: Re: Re: Daemon causing zombies under 5.8
by trs80 (Priest) on Jan 14, 2003 at 04:38 UTC
    I see the error in my ways and have converted it a while loop similar to the one suggested by virtualsue.

    I don't believe there is a stack issue since I am not concerned with the order in which they are selected at this point. The files are deleted by the program that is execed from the daemon. They are only rerun if they are still there after 20 minutes, which can occur if the system is disconnected from the secondary server.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://226600]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2018-05-22 10:55 GMT
Find Nodes?
    Voting Booth?