GNU/Linux >> Znalost Linux >  >> Linux

Nový rodičovský proces, když rodičovský proces zemře?

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.“


Linux
  1. Linux – Kdy nemám zabít -9 A proces?

  2. Maximální hodnota ID procesu?

  3. Proč není Sigint propagován do podřízeného procesu, když je odeslán jeho nadřazenému procesu?

  1. Linux – Jak Node.js / Cluster Module předává nová spojení z hlavního/nadřazeného procesu do podřízených procesů?

  2. Jak obnovím semafor, když selže proces, který jej snížil na nulu?

  3. Jak nastavím pracovní adresář nadřazeného procesu?

  1. Detekce smrti rodičovského procesu

  2. Jak zabít podřízený proces pythonu vytvořený pomocí subprocess.check_output(), když rodič zemře?

  3. Kdy bych neměl zabít -9 proces?