Hello à tous,
on m'a posé une question il y a qq jours et j'ai pas trop su répondre
=> question: peut-on supprimer un zombie
J'ai répondu qu'un zombie était un process mort sans que son père soit au courant => il suffit que son père interroge le système sur l'état de son fils par un "wait" ou "waitpid" pour que le processus mort, s'il était zombie, disparaisse.
On m'a alors parlé de la commande "preap" sous solaris 9. Il suffit de taper "preap pid" pour que ce processus, s'il est zombie, disparaisse.
J'ai essayé de faire un programme analogue. Je lui passe un pid et le programme fait un "waitpid(pid, &status, WNOHANG)". Le problème, c'est que les fonctions "wait" et apparentées ne peuvent se faire que sur un pid fils sinon erreur (la fonction renvoie "-1" et errno prend la valeur "ECHILD" )
Donc, ma question finale: quelqu'un connait-il "preap" et sait-il comment il est conçu ?
J'ai trouvé un truc sur "preap" à l'adresse suivante: http://www.infobiogen.fr/doc/man.php?cr=intro