I have a program that I would like to fire off some number of child processes (each a perl script with a separate argument that the parent supplies) to do a somewhat time consuming thing. Right now I want it to fire off 30 sub-processes, at some point in the future that number will likely grow to about 150. I would like all the child processes to be started at about the same time, since the thing they are doing - building reports on different fairly busy and occasionally slow to respond servers, and putting those reports in a database - is somewhat time consuming but not bandwidth or CPU consuming. It would be fine if it died after the children were fired off. The script currently serially builds reports and it is slow and can be unreliable if a remote host decides to quit cooperating or kill its session, which is why I am thinking this approach would be great. As I understand them, system() and backticks wait for the process to finish (even if you use &), while fork(), and exec() seem to only replace a single running process with another. Is what I want to do possible with Perl? If so how?

In reply to spawning multiple child processes by moof1138

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.