The children *are* being created, and then they finish. The reason
they remain as zombies is because their exit status must be reported
to the main process. Since the main process is not doind a wait(2) on
them, they pile up waiting to report. The reason they finally die when
the main process exits is because they are removed by the system when
the PID group leader (the main prcoess) is killed. This is what allows
you to kill all processes in a group without having to hunt down each
one and kill it individually.
You need to read "Unix Network Programming", by W. Richard Stevens.
--- Andrew C. Esh mailto:andrew_esh@cnt.com Computer Network Technology andrewes@mtn.org (finger for PGP key) 6500 Wedgwood Road 612.550.8000 (main) Maple Grove MN 55311 612.550.8229 (direct) http://www.cnt.com - CNT Inc. Home Page http://www.mtn.org/~andrewes - ACE Home Page