где разместить функцию wait_pid для предотвращения процессов зума в Linux?

Я следую OpenSSL примеру многопоточного сервера но в этом примере создаются процессы zoombie. Я исследовал и обнаружил, что должен выполнять waitpid() для каждого разветвленного процесса. Но я не могу понять, куда поместить waitpid(pid, NULL, 0);. Я поместил его незадолго до конца цикла while, но затем он просто ждет немедленных процессов, которые были разветвлены, а не ждут всех процессов. Может кто-нибудь указать, где и как выполнить вызов waitpid(). Спасибо!


person user837208    schedule 18.07.2011    source источник


Ответы (1)


Вы должны создать массив pids, созданных родителем, а затем прокрутить их и вызвать waitpid для каждого из них.

person chotchki    schedule 18.07.2011