in reply to Re^4: Segmentation fault: problem with perl threads
in thread Segmentation fault: problem with perl threads
but that dosn't watch for zombies, or limit the number of forks at any one time.if(fork() == 0){exec("command")}
Usually, you do something like:
There are a bunch of recipes around for limiting the number of forks running at any one time, but you are best off using Parallel::ForkManager See: controlling child processes#!/usr/bin/perl # There is a limit to the number of child processes you can # have, or should want, so big jobs may require the kind of # throttling Parallel::ForkManager gives you. #The receipe for 100 processes: #avoid zombies $SIG{CHLD} = 'IGNORE'; # check if it works on your system for (1..100) { my $pid = fork; next if $pid; # in parent, go on warn($!), next if not defined $pid; # parent, fork errored out exec @cmd; # in child, # go do @cmd and don't come back }
|
|---|