> 
> HI. First time poster... :)
> 

For some reason your message was marked as SPAM, and not by me, as I
don't have spam filters enabled....
 
> I am trying to write a script that spawns a number of children processes.
> The number of children processes is determined at run time based on a
> configuration file. I am having trouble finding a way to create these
> children processes. They have to be independant of the parent and all run
> simultaniously untill they have completed their job or the parent send
them
> a terminate signal.
>  
> The fork command appears to only create a single child process. I may need
> potentially 20 or more.
>  
> Backticks and the system() command will not work because the parent
process
> waits for the child to complete before continuing.
>  
> I'm hoping I can somehow embed a fork command inside a while loop like so:
>  
> $children = 10;
> while ($children > 0)
> {
>     # fork a child process here somehow...
>     $children--;
> }
>  
> Thanks,
> Brian
> 
> 

This is a somewhat frequently asked message on this list, search the
archives on fork and I bet you will find more resources. I would start with:

perldoc perlipc
perldoc -f fork
perldoc -f waitpid

Those should give you a good base. In general you are correct about
using a while loop with fork code inside the loop. Be sure not to fork
bomb your machine, and you will need to decide things such as whether it
will run as a daemon and whether you just want X number of forks to run
and then exit or whether you want X number to always be alive, etc. 
Depending on what you are really up to you might want to check the Perl
Cookbook and/or Network Programming with Perl, both are excellent
resources and contain chapters on this sort of stuff.

As is generally the case when talking about IPC I must mention POE
depending on your complexity and desire/ability to learn,

http://poe.perl.org

HTH,

http://danconia.org

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to