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

Re: Understanding how to fork properly.

by jepri (Parson)
on Jan 31, 2002 at 02:37 UTC ( [id://142342]=note: print w/replies, xml ) Need Help??


in reply to Understanding how to fork properly.

There's nothing going wrong, just your expectations are a little off. When you fork, you are spinning off all new, real, full programs. They execute (almost) independently of your initial program. Ever heard the phrase 'fork and exec'? It's how you start a daemon.

So in your case, everything happens the way it should. However, one of your forked children prints after your parent program quits. You weren't expecting this, but it is fine.

You are slightly confused because you expect your command shell to wait until all the children finish before giving you a command prompt. However command shells only wait for their immediate children to exit. They can't know about their childrens children ( how could your program find out if the children it makes make their own children?)

You should be waiting for your children to exit, but the consequence of not waiting is zombie processes, not out-of-order output.

____________________
Jeremy
I didn't believe in evil until I dated it.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2024-04-20 06:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found