Sous linux, je peux tuer un processus en ne connaissant que le port sur lequel il écoute fuser -k 9000/tcp
, comment faire de même sur MacOS?
14
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9
Passez PortNumber
au port réel que vous souhaitez rechercher.
-9
à la fin pour que cela fonctionne, mais je pense que cela est dû à la nature de l'application d'écoute et à la pratique généralement non recommandéekill -9
.L'ajout des drapeaux -t et -i à lsof devrait accélérer encore plus en supprimant le besoin de grep et awk.
la source
Ajoutez -n à lsof et vous supprimez la recherche DNS inversée de la commande et réduisez le temps d'exécution de quelques minutes à quelques secondes.
la source
2. Fermez le port en tuant le processus PID
la source
Vous pouvez voir si un port est ouvert par cette commande
où 8000 est le numéro de port
Si le port est ouvert, il doit renvoyer une chaîne contenant l'ID de processus (PID).
Copiez ce PID et
Si vous devez voir tous les ports ouverts, vous pouvez effectuer une analyse des ports dans l'application Network Utility.
la source
Vous pouvez utiliser
kill -9 $(lsof -i:PORT -t) 2> /dev/null
, où PORT est votre numéro de port réel. Il tuera le processus qui s'exécute sur votre port donné.la source