web-dev-qa-db-ja.com

Mac OSのポートごとにプロセスを強制終了する方法、fuser -k 9000 / tcp

Linuxでは、fuser -k 9000/tcpを使用して、リッスンしているポートのみを知っているプロセスを強制終了できます。MacOSでも同じようにするにはどうすればよいですか?

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

PortNumberを検索する実際のポートに変更します。

21
stefano

Lsofに-tフラグと-iフラグを追加すると、grepとawkの必要がなくなるため、速度がさらに向上します。

lsof -nti:NumberOfPort | xargs kill -9
13
Zlemini

このコマンドでポートが開いているかどうかを確認できます

 Sudo lsof -i :8000

8000はポート番号です

ポートが開いている場合は、プロセスID(PID)を含む文字列を返す必要があります。

このPIDをコピーし、

kill -9 PID

開いているすべてのポートを確認する必要がある場合は、ネットワークユーティリティアプリケーションでポートスキャンを実行できます。

2
rohanharikr

Lsofに-nを追加すると、コマンドからDNS逆引き参照が削除され、実行時間が数分から数秒に短縮されます。

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9
2
stevehollx
  1. ポートが開いているかどうかを確認します

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.プロセスPIDを強制終了してポートを閉じます

Sudo kill -9 582
1
Thirumal

kill -9 $(lsof -i:PORT -t) 2> /dev/nullを使用できます。PORTは実際のポート番号です。指定されたポートで実行されているプロセスを強制終了します。

0
Epk

GUIを備えたツールが必要な場合は、以下を使用できます。 https://github.com/ayedo/tcpkiller

0
Ynv