Como matar um processo por porta no MacOS, a la fuser -k 9000 / tcp

14

No linux, posso matar um processo sabendo apenas a porta que está ouvindo fuser -k 9000/tcp, como faço o mesmo no MacOS?

Kris
fonte

Respostas:

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

Mude PortNumberpara a porta real que você deseja procurar.

Stefano
fonte
2
Eu apenas tive que adicionar -9ao final para que isso funcionasse, mas acredito que isso se deve à natureza do aplicativo de escuta e à prática geralmente não recomendada kill -9.
Kris
@Kris - lsof -P | grep ': NumberOfPort' | awk '{print $ 2}' | xargs kill -9 funcionou!
ases.
11

Adicionar os sinalizadores -t e -i ao lsof deve acelerar ainda mais, removendo a necessidade de grep e awk.

lsof -nti:NumberOfPort | xargs kill -9
Zlemini
fonte
2
Funciona e é mais conciso do que a resposta aceita!
Big Rico
1
Muito
2

Adicione -n ​​ao lsof e remova a pesquisa DNS reversa do comando e reduza o tempo de execução de minutos para segundos.

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9
stevehollx
fonte
1
  1. Verifique se a sua porta está aberta ou não

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. Feche a porta, matando o processo PID

sudo kill -9 582
Thirumal
fonte
1

Você pode ver se uma porta está aberta por este comando

 sudo lsof -i :8000

onde 8000 é o número da porta

Se a porta estiver aberta, ela deve retornar uma sequência contendo o ID do processo (PID).

Copie este PID e

kill -9 PID

Se você precisar ver todas as portas abertas, poderá executar uma verificação de porta no aplicativo Network Utility.

rohanharikr
fonte
0

Você pode usar kill -9 $(lsof -i:PORT -t) 2> /dev/null, onde PORT é o seu número de porta real. Isso matará o processo que está sendo executado em sua porta.

Epk
fonte
Você está repetindo outra resposta
yass 27/06