Lorsque je gère Zotero/Firefox, ils se bloquent souvent et je suis laissé 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, alors pour <pid>
du processus de 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
.
Y a-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 cela 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 insensible, donc je dois redémarrer de toute façon. Merci en avance pour vos suggestions.
La bonne façon d'arrêter et de démarrer le lancement des démons est Démoîtement de lancement .
Par exemple:
Vous pouvez arrêter un service de démon de lancement à l'aide du Décharger Sous-chambre de LaunkCtl .
$ Sudo launchctl unload /System/Library/LaunchDaemons/<daemon name>.plist
Pour démarrer un démon de lancement désactivé ou arrêté:
$ Sudo launchctl load /System/Library/LaunchDaemons/<daemon name>.plist
★ Soyez prudent avec la désactivation des démons de lancement au hasard au hasard - surtout l'officiel Apple Ceux; il peut potentiellement rendre votre système inébranlable jusqu'à ce que vous démarrez en mode sans échec et lesacdez manuellement. Vous ne tuez pas. LaunkCtl Comme un processus normal car il peut potentiellement tuer Votre système comme vous avez expérimenté.
> Plus d'infos sur LaunchCtl ici . (Page LaunchCtl d'Apple)
De la page Launchd Man:
Vous ne pouvez pas invoquer launchd directement.
Par conséquent, même si vous pouviez arrêter cela, vous ne seriez pas en mesure de le démarrer afin que la réponse soit qu'il n'y a aucun moyen.