Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: spawning multiple child processes

by pjf (Curate)
on Jun 21, 2002 at 05:05 UTC ( #176225=note: print w/ replies, xml ) Need Help??


in reply to spawning multiple child processes

Sounds like a job for the Perl cook-book to me. Section 17.11 (Forking Servers) has an example of a server that forks off a new process for each connection it receives. This is similar to what you're doing, except I presume you wish to fork off a new process for each server in your list.

The fork call creates a duplicate of a process, called a child. This child can do whatever it likes, independantly to the parent (including using exec to replace itself with another program).

A very basic framework for what you're after might look like this (adapted from the code mentioned above in the Perl Cookbook):

#!/usr/bin/perl -w use strict; my @servers = qw(LIST OF SERVERS); foreach my $server (@servers) { my $pid; next if $pid = fork; # Parent goes to next server. die "fork failed: $!" unless defined $pid; # From here on, we're in the child. Do whatever the # child has to do... The server we want to deal # with is in $server. exit; # Ends the child process. } # The following waits until all child processes have # finished, before allowing the parent to die. 1 while (wait() != -1); print "All done!\n";

That should hopefully give you a good start on solving your problem. Don't hestiate to ask questions if anything doesn't make sense.

All the best,

Paul Fenwick
Perl Training Australia


Comment on Re: spawning multiple child processes
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://176225]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (6)
As of 2015-08-01 01:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (285 votes), past polls