(fwd) Re: fork + execve = zombie

Andrey Gerzhov (kittle@freeland.alex-ua.com)
Wed, 7 Jul 1999 10:05:43 +0300 (EEST)

-- forwarded message --
Path: freeland.alex-ua.com!routki.ki.yurteh.net!carrier.kiev.ua!srcc!Gamma.RU!ddt.demos.su!not-for-mail
From: Anton Berezin <tobez@plab.ku.dk>
Newsgroups: fido7.ru.unix
Subject: Re: fork + execve = zombie
Date: 5 Jul 1999 18:32:04 +0400
Organization: The Protein Laboratory
Lines: 20
Sender: fido7@ddt.demos.su
Approved: <gateway@fido7.ru>
Message-ID: <19990705162923.B5735@lion.plab.ku.dk>
References: <1928884236@kefir.fidonet.org> <930694434@p10.f11.n5021.z2.fidonet.ftn> <3780A524.E63EEC2E@tex.kiev.ua>
NNTP-Posting-Host: ddt.demos.su
Mime-Version: 1.0
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 8bit
X-Trace: ddt.demos.su 931185125 27139 194.87.13.37 (5 Jul 1999 14:32:05 GMT)
X-Complaints-To: gatekeeper@fido7.ru
NNTP-Posting-Date: 5 Jul 1999 14:32:05 GMT
X-BeforeModerator-Path: not-for-mail
X-BeforeModerator-Sender: postmaster@plab.ku.dk
X-BeforeModerator-NNTP-Posting-Host: plab.ku.dk
X-BeforeModerator-X-Trace: ddt.demos.su 931185101 27015 130.225.105.65 (5 Jul 1999 14:31:41 GMT)
X-BeforeModerator-X-Complaints-To: gatekeeper@fido7.ru
X-BeforeModerator-NNTP-Posting-Date: 5 Jul 1999 14:31:41 GMT
X-Mailer: Mutt 0.95.4i
In-Reply-To: <3780A524.E63EEC2E@tex.kiev.ua>; from Dmitry A. Semenets on Mon, Jul 05, 1999 at 04:30:47PM +0400
X-Mail-Path: lion.plab.ku.dk!tobez@plab.ku.dk
Cache-Post-Path: plab.ku.dk!unknown@plab.ku.dk
X-Cache: nntpcache 2.3.2 (see http://www.nntpcache.org/)
Xref: freeland.alex-ua.com fido7.ru.unix:9046

On Mon, Jul 05, 1999 at 04:30:47PM +0400, Dmitry A. Semenets wrote:

> Процесс по любому уходит в зомби после вызова exit() и _родителю_ его
> посылается SIGCHLD. Т.е. память и ресурсы освобождаются а запись в
> таблице процессов вместе со статистикой выполнения и другой инфой
> остается. Запись ликвидируется _только_ после вызова кого-либо из
> группы wait _родителем_. Если родитель скончался раньше дитя, его
> (дитя) родителем становится init, который вызовет все, что необходимо.
> Если дите скончалось раньше родителя, а поледний wait не вызвал,
> избавится от зомби можно только ребутом.

Ммм. Это, всё же, несколько не так. Пока родитель, не вызвавший waitN,
живёт, дитё в самом деле останется в зомбическом состоянии. Чуть только
он сам завершится, зомби тут же уйдёт - его усыновит init, а одна из
основных обязанностей init'а - вызывать waitN. Так что не всё так
страшно.

-- 
Anton Berezin <tobez@plab.ku.dk>
The Protein Laboratory, University of Copenhagen
-- end of forwarded message --

-- 
С тем, что не помешает никогда,
                                               Kittle