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


14

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

回答:


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

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


2
これを機能さ-9せるために最後に追加する必要がありましたが、それはリスニングアプリケーションの性質によるものであり、一般的に推奨されるプラクティスではありませんkill -9
クリス

@Kris-lsof -P | grep ':NumberOfPort' | awk '{print $ 2}' | xargs kill -9が機能しました!
エース。

11

-tおよび-iフラグをlsofに追加すると、grepおよびawkの必要性がなくなるため、さらに高速化されます。

lsof -nti:NumberOfPort | xargs kill -9

2
受け入れられた答えよりも機能し、簡潔です!
ビッグリッチ

1
このアプローチにより、より高速になります
daleyjem

2

-nをlsofに追加すると、コマンドから逆DNSルックアップが削除され、実行時間が数分から秒に短縮されます。

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9

1
  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

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

 sudo lsof -i :8000

ここで、8000はポート番号です

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

このPIDをコピーして

kill -9 PID

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


0

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


あなたは他の答えを繰り返しています
-yass
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.