Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: mysterious fork() failure

by Zaxo (Archbishop)
on Jan 05, 2002 at 03:51 UTC ( #136421=note: print w/replies, xml ) Need Help??

in reply to mysterious fork() failure

The possible reasons for this are in the code you don't show. When you fork, you cannot know whether the child or parent runs first. If the parent runs first, and exits immediately, the child will be killed by the system's init process before it runs. Be sure to call wait() before exiting the parent. You should call exit() at the end of the child's code.

# create new directory here if ( !defined( $pid = fork() ) ) { # log fork() failure here # remove directory here } elsif ($pid == 0) { # remove directory here exit 0; } wait if $pid;

Update: Fixed pid logic according to dws's prescription

After Compline,

Replies are listed 'Best First'.
Re: Re: mysterious fork() failure
by fokat (Deacon) on Jan 05, 2002 at 23:23 UTC
    "...the child will be killed by the system's init process before it runs." is not true in Unix systems.

    If the parent exits/dies before the child, init will become its parent and wait() for it.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2020-10-30 03:02 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (277 votes). Check out past polls.