my @pids = $get_pidof('fork.pl', 1);
####
wait Behaves like the wait(2) system call on your system: it waits
for a child process to terminate and returns the pid of the
deceased process, or "-1" if there are no child processes. The
status is returned in $?. Note that a return value of "-1"
could mean that child processes are being automatically reaped,
as described in perlipc.
####
while (1) {
my $completed_pid = waitpid(-1, WNOHANG);
if ($completed_pid == -1) {
# No more children -- exit loop
last;
}
if ($completed_pid > 0) {
print ": $completed_pid is done; $childcnt running\n";
$childcnt--;
sleep 1;
}
}