web-dev-qa-db-fra.com

Les processus enfants créés avec fork () sont-ils automatiquement supprimés lorsque le parent est tué?

Je crée des processus enfants avec fork() en C/C++.
Lorsque le processus parent se termine (ou est tué pour une raison quelconque), je veux que tous les processus enfants soient également tués.
Est-ce que cela est fait automatiquement par le système? Ou je dois le faire moi-même?

Merci.


Questions similaires préexistantes:

39
GetFree

Non. Si le parent est tué, les enfants deviennent des enfants du processus init (qui a l'ID de processus 1 et est lancé en tant que premier processus utilisateur par le noyau).

Le processus init recherche périodiquement de nouveaux enfants et les attend (libérant ainsi les ressources allouées par leur valeur de retour).

La question a déjà été discutée avec des réponses de qualité ici: Comment faire mourir le processus enfant après la sortie des parents?

49