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?
Helter.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|