in reply to Understanding how to fork properly.
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.
|
|---|