web-dev-qa-db-fra.com

Comment trouver et arrêter un processus sur un Mac

Comment puis-je trouver l'ID de processus et arrêter le processus qui fonctionne sur le port 8080 sur un Mac?

Sur Ubuntu cela fonctionne:

ps -aux

et je peux trouver le processus et courir:

kill -9 pid

ps -aux ne semblait pas fonctionner, comment puis-je faire cela sur Mac OS X Lion?

11
codecompleting

Si vous souhaitez trouver et tuer tous les processus conformes à une chaîne, vous pouvez également utiliser ce qui suit sur un Mac OSX:

ps aux | grep <string> | awk '{print $1}' | <Sudo> xargs kill -9

Fondamentalement, ce que cela va faire est que cela trouvera (GREP) tous les processus exécutés actuellement sur votre système correspondant à l'AWK obtient le PID, qui dans la commande PS est la deuxième colonne et que le dernier prend les arguments de Awk et tue le processus.

Utilisez Sudo, uniquement si l'utilisateur actuel n'a pas de droit à tuer un processus et si vous avez un accès sudo sur votre système.

5
gagneet

Je crois ps -ef sur Mac est presque équivalente à ps -aux sur Linux.

Pour obtenir ce que PID a Port 8080 en cours d'utilisation: lsof -P | grep 8080

Les champs planent sur:

[mini-nevie:~] nevinwilliams% lsof -P | head -1
COMMAND     PID          USER   FD     TYPE             DEVICE  SIZE/OFF    NODE NAME

J'ai commencé ttcp -rs qui écoute sur le port 5001.

mini-nevie:~] nevinwilliams% lsof -P | grep 5001
ttcp      27999 nevinwilliams    3u    IPv4 0xb70c1f66028d6961       0t0     TCP *:5001 (LISTEN)

et en effet, PID 27999 correspond au PID du processus ttcp j'ai lancé.

3
Nevin Williams

Pour rester à jour, pour MacOS:

ps -e | grep python | awk '{print "Sudo kill -9",  $1}' | sh

Pour Linux:

ps -ax | grep python | awk '{print "Sudo kill -9",  $1}' | sh
1
mikeyy