Lorsque j'exécute Zotero / Firefox, ils plantent souvent et je me retrouve avec des processus zombies; après cela, je ne peux pas ouvrir de nouvelles instances de Zotero ou Firefox. Je veux me débarrasser de ces processus zombies plutôt que de redémarrer, donc pour <pid>
le processus zombie,
$ ps -p <pid> -o ppid=
me donne le <parent_pid>
et
ps aux | awk -v PID=<parent_pid> '$2 == PID {print $0}'
me dit que le processus parent est /sbin/launchd
pour l'utilisateur crippledlambda
.
Existe-t-il un moyen de redémarrer cela sans tuer mon système?
sudo kill -1 <parent_pid>
ne fait rien. J'ai essayé d'écrire ceci dans un script et de l'exécuter avec sudo
:
for i in `launchctl list | grep launchd | awk -v PID=<parent_pid> '$1==PID { print $NF }'`; do `launchctl stop $i && launchctl start $i` ; done
et cela évidemment (?) me laisse avec un écran gris qui ne répond pas donc je dois quand même redémarrer. Merci en avance pour vos suggestions.
launchd
faut toujours lire immédiatement le statut de sortie de ses enfants. S'ils ne sont pas vraiment des zombies, alors vous devriez les tuer. Dans les deux cas, tuer launchd
va causer plus de problèmes qu'il n'en résout.