Když v UNIXu zmizí nadřazený proces, myslel jsem si, že všechny podřízené procesy ho resetují na rodiče. Není to pořád správné? Existují nějaké výjimky?
Přijatá odpověď:
Přesouvám svůj komentář na odpověď... Nevěřím, že existují výjimky.
Zjistil jsem, že „někdy je rodičovský proces zabit dříve, než je zabit jeho dítě. V tomto případě „rodič všech procesů“, init
proces, se stane novým PPID (ID rodičovského procesu). Někdy se těmto procesům říká osiřelý proces.“ zdroj
Podobně je to popsáno na blogu IBM:„Rodič zemře nebo je zabit dříve než dítě.
Ve výše uvedeném scénáři se podřízený proces stane osiřelým procesem (protože ztratil svého rodiče). V Linuxu init
proces přichází na záchranu osiřelých procesů a přijímá je. To znamená, že poté, co dítě ztratilo svého rodiče, init
proces se stává jeho novým nadřazeným procesem.“