Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: strange behaviour when forking lots of times

by Zaxo (Archbishop)
on May 16, 2006 at 04:57 UTC ( #549664=note: print w/replies, xml ) Need Help??

in reply to strange behaviour when forking lots of times

Caution when experimenting with this. It's a very effective fork bomb for slightly larger values of 10.

Perl fork behaves exactly like unistd.h fork(), except that the return value differs on failure. When fork fails, it returns undef instead of -1, as C fork() does.

Here's my forking idiom:

my %kid; { defined(my $cpid = fork) or warn $! and last; $cpid and $kid{$cpid} = undef, last; undef %kid; # in child now # do childish things exit 0; } # . . . delete $kid{wait()} while %kid;
There are other ways to avoid zombie kids. Which you choose depends on how your program flow is intended to go.

After Compline,

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2019-11-19 02:50 GMT
Find Nodes?
    Voting Booth?
    Strict and warnings: which comes first?

    Results (93 votes). Check out past polls.