1

Un truc m'échappe à propos de la gestion des processus sous unix:
est-ce qu'un pere termine tous ses process fils en se finissant, ou alors au contraire les fils continuent de s'executer et finissent par devenir zombies puisque le pere est fini sans avoir pu recuperer leur statut? J'ai vu les deux versions en me documentant la dessus. J'ai aussi cru comprendre qu'un fils dont le pere est terminé devenait orphelin, et est récupéré par le process dont le pid = 1 (pour ne pas qu'il se zombifie) confus c'est encore contradictoire avec les 2 suppositions d'au dessus...

2

Wikipedia :
On Unix systems a zombie process is a process that has completed execution but the exit status of which has not been read by the parent process yet. In the term's colorful metaphor, the process has died but has not yet been reaped.


Donc qd un fils termine, il passe à l'état zombie jusqu'à ce que son père sache qu'il a fini, alors que qd c'est le père qui termine avant le fils, le fils se fait adopter par pid=1, et qd il meurt il est viré immédiatement smile (évidemment, puisque pid=1 n'a pas besoin de connaître sa valeur de retour ^^) et tous les fils zombie meurent immédiatement je présume ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

Ah ok donc un processus ne peut jamais etre zombie une fois que son pere est terminé? c'est pour ca que je n'arrive jamais a obtenir un processus zombie volontairement grin (sauf si je mets le pere en background au cours de son execution, dans ce cas ok j'obtiens un status ZW pour tous les fils terminés)
thx Pollux

4

Exactement car init attend la mort de tous ses fils (c'est ça qui fait passer un processus de l'état zombie à l'état terminé).
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

5

Donc finalement quand on dit qu'il faut faire attention à l'etat zombie d'un process, c'est juste pendant la durée de l'execution du pere, pour ne pas etre a cours de pids lorsqu'un grand nombre de fork est necessaire?

6

Oui.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

7

A Noter que le pere est aussi fils du terminaltongue puisque le terminal fait n fork +exec