Perl forking 101:

#!/usr/bin/perl -w use strict; my $pid=fork(); # there's a fork in the road... if ($pid){ wait(); # Parents are always waiting around for children } else { # This is the child process... # hand waving... do stuff here... exit(0); } # and on our merry way we go.

There is a very simplified view of how forking works. The data space up until the time of the fork gets inherited by the child. In the child instance, $pid is going to be zero and in the parent process $pid will have the pid of the child process that is running. In the example I give above your parent process will wait until the child process exits (note the very implicit exit call, this prevents nasty things from happening if we fall through the if statement) before continuing execution.

another mouse trap!

There are ways of making your life easier when it comes to forking. Check out Proc::Fork and Schedule::Parallel::Fork just to name two.


In reply to Re: problem with forking by blue_cowdawg
in thread problem with forking by sandeep.ses

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.