Ключевые слова:fork, zombie, signal, (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Serguei Revtov 2:5021/11.10 20 Aug 98 15:06:00
Subj : ЗОМБИ
________________________________________________________________________________
Hi vyheslav!
Чет Авг 20 1998 13:06, vyheslav wrote to All:
v> Вопрос такой - КАК поубивать процессы зомби до смерти родителя.
=== Begin zomby ===
_ [16] RU.UNIX (2:5021/11.10) _______________________________________ RU.UNIX _
From : Boris Tobotras 2:5020/510 Пон 09 Июн 97 22:22
Subj : Fork() %-[]
_______________________________________________________________________________
>>>>> "Serguei" == Serguei Revtov writes:
C> Люди, подскажите pls, что нужно сделать, чтоб после отработки exit() в
C> отфорканном процессе, этот процесс не превращался в <defunct>?
Serguei> В pодителе сказать wait. Или pодителя "умеpеть" ;-)
Или в родителе сказать signal( SIGCHLD, SIG_IGN ).
--
Best regards, -- Boris.
-+- Gnus v5.4.37/XEmacs 19.15
+ Origin: Linux inside (2:5020/510@fidonet)
=== End zomby ===
-- Serguei
[email protected] || 2:5021/11.10 || 2:5021/19.1
--- GoldED 3.00.Beta1+ * Origin: До встречи в Ru.Unix.Solaris (2:5021/11.10)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Valentin Nechayev 2:5020/400 20 Aug 98 18:42:00
Subj : Re: ЗОМБИ
________________________________________________________________________________
From: [email protected] (Valentin Nechayev)
Hello vyheslav!
v> Hо родителю не надо wait детей, и он должен жить дальше.
waitpid(), wait3(), wait4() с флагом "без ожидания". Если есть зомби -
хороним его, иначе идем дальше.
v> Ситуэйшн такой что родитель рожает детей по максимуму процессов (64). Они
v> отработали, дали результаты но не умерли а стали зомби ! Если теперь
v> родитель решит завести еще скажем пяток детей у него не чего не выйдет, так
v> как те зомби и сами ничего не делают и другим мешают.Я бы их ПОУБИВАЛ ! Hо
v> как ???
См. выше.
-- --
Valentin Nechayev
[email protected]
II:LDXIII/MCMLXXII.CCC
--- ifmail v.2.14dev2 * Origin: Lucky Netch Unplugged (2:5020/400@fidonet)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Dmitri N. Beloslioudtsev 2:5020/400 20 Aug 98 17:37:24
Subj : Re: ЗОМБИ
________________________________________________________________________________
From: "Dmitri N. Beloslioudtsev" <[email protected]>
Hi, vyheslav!
On 20 Aug 1998 17:06:57 +0400 vyheslav <[email protected]> wrote:
v> Hо родителю не надо wait детей, и он должен жить дальше.
v> Ситуэйшн такой что родитель рожает детей по максимуму процессов (64). Они
v> отработали, дали результаты но не умерли а стали зомби ! Если теперь
v> родитель решит завести еще скажем пяток детей у него не чего не выйдет, так
v> как те зомби и сами ничего не делают и другим мешают.Я бы их ПОУБИВАЛ ! Hо
v> как ???
Дети должны "открепляться" от управляющего терминала, каждый
дочерний процесс должен делать системный вызов setsid() (или что там
у вас в вашем Unix).
--
Dmitri N. Beloslioudtsev, Euro InterSoft(AKA Orgland), Zelenograd, Russia
--- ifmail v.2.14dev2 * Origin: EuroInterSoft, Zelenograd, Russia (2:5020/400@fidonet)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Eugene Crosser 2:5020/400 21 Aug 98 01:43:50
Subj : Re: ЗОМБИ
________________________________________________________________________________
From: [email protected] (Eugene Crosser)
In article <[email protected]>,
[email protected] (Valentin Nechayev) writes:
>v> Hо родителю не надо wait детей, и он должен жить дальше.
>
> waitpid(), wait3(), wait4() с флагом "без ожидания". Если есть зомби -
> хороним его, иначе идем дальше.
Еще вариант (очень хороший) - в родителе установить sigchld обработчик,
который изнутри себя сделает wait.
--
Eugene Crosser; 2:5020/230@fidonet; http://www.average.org/~crosser/--- ifmail v.2.14dev2 * Origin: Average (2:5020/400@fidonet)