I think the sufficient solution of zombies is: signal(SIGCHLD, SIG_IGN); to instruct the OS to throw away status of finished process and not to create zombies. It is not necessary to play with sigaction. Semo