sebevrazda ditete - fork proces
Robert Vojta
robert na v0jta.net
Úterý Srpen 14 12:40:37 CEST 2001
> mam tu programatorsky orisek.
> Mam program, ktery v urcitou chvili vytvori podproces (forkem). Pak rodic
> hlida, co dela dite. Kdyz skonci dite drive, nez ho zabije rodic, tak se
> standartne ukonci. Ale pak mi po kazdem takovem procesu zbyde Zombie proces,
> kterych zbavim jen tak, ze zabiju i rodice. Nevi nekdo, jak zajistit, abych
> spolehlive ukoncil podproces a nezustavaly mi tam zombie?
Ufff, Zombici, jak vznikaji? Viz archiv konference ...
- rodic vytvori potomka
- potomek se ukonci
- rodic si nevyzvedne navratovy kod potomka
A mame Zombika. Takze, bude musite precist navratovy kod ukonceneho
ditete a nebo zavolat v rodici ...
signal(SIGCLD,SIG_IGN);
a tim mu reknete, ze ma ignorovat navratove kody deti a tudiz zombici
vznikat nebudou. Jinak behem nekolika malo minut jsem nasel svuj prispevek
v archivu konference ...
http://www.linux.cz/lists/archive/linux/114995.html
Resume jak se zbavit zombiku?
a) cist navratove kody ukoncenych deti (man 2 wait, waitpid, ...)
b) ignorovat navratove kody potomku - signal(SIGCLD,SIG_IGN);
> Pozn. je to delany ve FreePascalu, ale asi jde jen o princip, o zbytek uz
> bych se snad postaral.
FreePascal jsem nevidel, ale princip mate ...
--Robert V0jta
--
_
|-| __ Robert Vojta (robert-at-v0jta-net)
|=| [Ll] http://www.v0jta.net/
"^" ====`o
------------- další část ---------------
A non-text attachment was scrubbed...
Name: [žádný popis není k dispozici]
Type: application/pgp-signature
Size: 240 bytes
Desc: [žádný popis není k dispozici]
URL: <http://www.linux.cz/pipermail/linux/attachments/20010814/9c9b3a74/attachment.sig>
Další informace o konferenci Linux