chanakya has asked for the wisdom of the Perl Monks concerning the following question:
Thanks in advance#!/usr/bin/perl -w my $NumChilds = 4; @sourceids=("aex", "athena", "athens","bidapa","bbic","bony","capctha" +,"cooldo","italy","paris","xmltech"); my $sourcecount = scalar(@sourceids)."\n"; # This section spawns the initial 4 children. for ($counter = 1; $counter <= $NumChilds; $counter++) { #foreach my $source (@sourceids){ $pid = fork(); if ($pid) # parent { $child{$pid} = $counter; print "forked process $counter.\n"; } else # child { callScan(); #should be callScan($source); exit $counter; } # } } # spawns additional children . $diecount = 0; while ($counter <= $sourcecount) { $doneproc = wait(); $doneval = $? >> 8; $pid = fork(); if ($pid) # parent { $child{$pid} = $counter; print "child $doneval ($doneproc) exited, forking process $cou +nter.\n"; $counter++; $diecount++; } else # child { callScan(); #should be callScan($source); exit $counter; } } # waits for all children to die. while ($diecount <= $sourcecount) { wait(); $diecount++; } # subroutine. sub callScan { sleep(2); print "callScan with counter = $counter.\n"; } print "Done.\n";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Fork limited childs and passing parameters
by zentara (Cardinal) on Nov 24, 2006 at 13:41 UTC | |
|
Re: Fork limited childs and passing parameters
by themage (Friar) on Nov 24, 2006 at 12:40 UTC | |
|
Re: Fork limited childs and passing parameters
by salva (Canon) on Nov 24, 2006 at 14:57 UTC | |
|
Re: Fork limited childs and passing parameters
by chanakya (Friar) on Nov 24, 2006 at 14:06 UTC | |
|
Re: Fork limited childs and passing parameters
by chanakya (Friar) on Nov 27, 2006 at 12:43 UTC |