No such thing as a small change | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
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.
____________________ In reply to Re: Understanding how to fork properly.
by jepri
|
|