LINUX.ORG.RU

завершение потомков


0

0

если в момент завершения дочернего процесса, порожденного через fork, родитель не выполняет wait или waitpid, то потомок становится зомби. вся проблема в том, что потомок и родитель в моем случае должны выполняться параллельно и поэтому никакие wait невозможны. пока я решил для себя эту проблему использованием threads, но неужели никак невозможно это сделать через fork, чтобы потомки не становились зомби?

anonymous

Re: завершение потомков

Я не в курсе.
Но я знаю, что при умирании потомка родитель получает сигнал SIGCHILD, может это и гон, но в обработчике сигнала попробовать сделать wait или waitpid?

Havoc ★★★★
()

Re: завершение потомков

Совершенно верно сигнал SIGCHILD
и wait в обработчике :-)

Aleks_IZA
()

Re: завершение потомков

a eshe proshe postavit SIG_IGN na SIG_CHLD i potomok sam budet ischezat pravda eto vo FreeBSD ne rabotaet hotya i v POSIX :)

master
()

Re: завершение потомков

Да, да надо указать, чтобы родитель игнорировал сигнал SIGCHILD. В линухах этот прием работает.

NewComer
()

Re: завершение потомков

Все-же лучше считать дитей и ограничивать их отцом :-)

Aleks_IZA
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.