280 votes

Qu'est-ce qu'un processus <defunct>, et pourquoi n'est-il pas tué ?

Le navigateur chrome ne répondait pas et j'ai essayé de le tuer, mais au lieu de disparaître le processus avait <defunct> à sa droite, et n'a pas été tué :

enter image description here

Qu'est-ce que <defunct> pour un processus et pourquoi il n'est pas tué ?

1voto

Jaqi Points 1

Merci Mike S. Nous avons pris votre ligne et écrit un script qui va tuer les processus défunts dont le parent est in.telnetd. Nous ne voulions pas qu'il tue n'importe quel processus parent, juste telnetd que nous savons causer un problème et nous l'exécuterons plusieurs fois pour en tuer plusieurs si nécessaire.

# egrep -v '^1$ = Make sure the process is not the init process.
# awk '{print $3}' = Print the parent process.

first_parent_of_first_dead_kid=$(ps -ef | grep [d]efunct | awk '{print $3}' | head -n1 | egrep -v '^1$')
echo "$first_parent_of_first_dead_kid"

# If the first parent of the first dead kid is in.telnetd, then kill it.
if ps -ef | grep $first_parent_of_first_dead_kid | grep in.telnetd;then
        echo "We have a defunct process whose parent process is in.telnetd" | logger -t KILL-DEFUNCT-TELNET
        echo "killing $first_parent_of_first_dead_kid" | logger -t KILL-DEFUNCT-TELNET
        kill $first_parent_of_first_dead_kid 2>&1 | logger -t KILL-DEFUNCT-TELNET
fi

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X