Comment tuer un processus par port sur MacOS, un la fuser -k 9000 / tcp

14

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?

Kris
la source

Réponses:

19
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9

Passez PortNumberau port réel que vous souhaitez rechercher.

Stefano
la source
2
J'ai juste dû ajouter -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ée kill -9.
Kris
@Kris - lsof -P | grep ': NumberOfPort' | awk '{print $ 2}' | xargs kill -9 a fonctionné!
as.
11

L'ajout des drapeaux -t et -i à lsof devrait accélérer encore plus en supprimant le besoin de grep et awk.

lsof -nti:NumberOfPort | xargs kill -9
Zlemini
la source
2
Fonctionne et est plus concis que la réponse acceptée!
Big Rich
1
Beaucoup plus rapide avec cette approche
daleyjem
2

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.

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9
stevehollx
la source
1
  1. Vérifiez que votre port est ouvert ou non par

sudo lsof -i: {PORT_NUMBER}

COMMAND PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    582 Thirumal  300u  IPv6 0xf91b63da8f10f8b7      0t0  TCP *:distinct (LISTEN)

2. Fermez le port en tuant le processus PID

sudo kill -9 582
Thirumal
la source
1

Vous pouvez voir si un port est ouvert par cette commande

 sudo lsof -i :8000

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

kill -9 PID

Si vous devez voir tous les ports ouverts, vous pouvez effectuer une analyse des ports dans l'application Network Utility.

rohanharikr
la source
0

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é.

Epk
la source
Vous répétez une autre réponse
yass