( Mcsiv | 2021. 06. 23., sze – 13:36 )

Ez teljesen normális:

Ha egy process indít egy child process-t, értelemszerűen a child process parentje az első process lesz aki indította. Ha az első process elhal, a child process "orphaned" státuszba kerül.

Amint "orphaned" státuszba kerül, a linux kernel automatikusan elindít egy "reparenting" folyamatot. Ilyenkor alapesetben az init process kapja meg a "parent" státuszt a child process-hez. Ez utóbbit, hogy ilyen esetben kihez kerül a child, meg is lehet határozni (subreaper process).

Ha a reparenting megtörtént, akkor az új parent felelőssége, hogy a child process-t megfelelően lezárja. Mert hiába crash-el el, vagy lép ki a child process, egészen addig ott marad, míg a parent nem olvassa ki a return value-t (megfelelően lekezelve a SIGCHLD-et). Ha ez soha nem történik meg, ők lesznek a Zombie (defunct) processek