Mac OS X の特定の TCP ポートをリッスンしているのは誰ですか? 質問する

Mac OS X の特定の TCP ポートをリッスンしているのは誰ですか? 質問する

netstat -pntl | grep $PORTLinux では、または をfuser -n tcp $PORT使用して、指定された TCP ポートでリッスンしているプロセス (PID) を確認できます。Mac OS X で同じ情報を取得するにはどうすればよいでしょうか?

ベストアンサー1

macOSBig Sur以降では、次のコマンドを使用します。

sudo lsof -i -P | grep LISTEN | grep :$PORT

または IPv4 だけを表示するには:

sudo lsof -nP -i4TCP:$PORT | grep LISTEN

古いバージョンでは、次のいずれかの形式を使用します。

sudo lsof -nP -iTCP:$PORT | grep LISTEN
sudo lsof -nP -i:$PORT | grep LISTEN

$PORTポート番号またはコンマで区切られたポート番号のリストに置き換えます。

sudo1023 を超えるポートの情報が必要な場合は必要ありません。

この-nフラグは、ホスト名の代わりに IP アドレスを表示するためのものです。ホスト名を取得するための DNS ルックアップは遅い場合があるため (ホストの数が多い場合は数秒または 1 分)、このコマンドの実行速度が大幅に向上します。

このフラグは、 、 などの解決済みの名前や、 などの難解なサービス名の-P代わりに、生のポート番号を表示するためのものですhttpftpdpservesocalia

その他のオプションについてはコメントを参照してください。

完全を期すために、頻繁に一緒に使用されるため:

PID を強制終了するには:

sudo kill -9 <PID>
# kill -9 60401

おすすめ記事