Comment tuer un processus en MacOS?
J'ai essayé kill -9 698
mais le processus n'est pas mort.
$ ps -ef | grep chromium
502 698 811 0 0:01.24 ?? 0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
502 854 732 0 0:00.00 ttys001 0:00.00 grep chromium
$ kill -9 698
$ ps -ef | grep chromium
502 698 811 0 0:01.24 ?? 0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
502 854 732 0 0:00.00 ttys001 0:00.00 grep chromium
- N'est-ce pas une bonne pratique d'exécuter en premier lieu
kill -15 ...
et si cela ne fonctionne pas, alorskill -1 ...
et si cela ne fonctionne pas, alorskill -9 ...
?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez les tuer -9, vous avez le bon PID, et rien ne se passe, alors vous n'avez pas les autorisations pour tuer le processus.
Solution:
Bon, bien sûr Mac OS/X donne un message d'erreur pour ce cas:
Donc, si vous ne recevez pas un message d'erreur, vous n'obtenez pas le droit PID.
Certains cas, vous pourriez vouloir tuer tous les processus en cours d'exécution dans un port spécifique. Par exemple, si je suis en cours d'exécution d'un nœud application sur 3000 port et j'ai envie de tuer qui et en commencer une nouvelle; puis j'ai trouvé cette commande utile.
Trouver l'Id de processus en cours d'exécution sur le port TCP 3000 et le tuer
Si vous connaissez le nom du processus que vous pouvez utiliser:
Si vous n'en avez pas, vous pouvez ouvrir le Moniteur d'Activité et de le trouver.
killall
prend une chaîne de caractère par rapport à tuer.Si
kill -9
ne fonctionne pas, alors nikillall
(ou mêmekillall -9
qui serait plus "intense"). Apparemment, le chrome processus est bloqué dans un non-interruptible appel système (c'est à dire, dans le noyau, pas en userland) -- ne pense pas que MacOSX avait tout de ceux de gauche, mais je pense qu'il y a toujours un de plus:-(. Si ce processus a un terminal de contrôle, vous pouvez probablement en arrière-plan et le tuer tout backgrounded; sinon (ou si l'intense tuer ne fonctionne pas, même une fois que le processus est bakcgrounded) je suis à court d'idées et je pense que vous pourriez avoir à redémarrer la machine:-(.Donné le chemin d'accès à votre programme, je suppose que vous êtes en train de courir sous Xcode, et sont probablement à l'debug point d'arrêt. Les processus ne peuvent pas être tués dans cet état en raison de la sous-tendent la mise en œuvre de points d'arrêt.
La première étape serait d'aller à votre Xcode processus et arrêter le débogage. Si, pour quelque étrange raison, vous avez perdu l'accès à Xcode (peut-être Xcode a perdu l'accès à son gdb sous-processus), alors la solution est de tuer le gdb processus. Plus généralement, la solution ici est de tuer le processus parent. Dans votre cas c'est PID 811 (troisième colonne).
Il n'est pas nécessaire d'utiliser -9 dans ce cas.
Je viens maintenant recherché pour ce que je suis dans une situation similaire, et au lieu de
kill -9 698
j'ai essayésudo kill 428
où 428 était le pid du processus que je suis en train de les tuer. Il a travaillé proprement pour moi, en l'absence du trait d'union caractère' -'. J'espère que cela aide!Je l'ai connu si
kill -9 PID
ne fonctionne pas, et que vous possédez le processus, vous pouvez utiliserkill -s kill PID
qui est surprenant que l'homme à la page en dit, vous pouvezkill -signal_number PID
.kill -s kill 9
m'a aidéJ'ai récemment fait l'objet d'similaire où l'atome d'éditeur, de ne pas fermer. Ni de répondre. Tuer /kill -9 /force de sortie de Moniteur d'Activité - n'a pas fonctionné. Finalement dû redémarrer mon mac pour fermer l'application.