Mac OS Xで「fuser -v -n tcp」の代替として使用するもの


10

Mac OS Xのfuserコマンドはかなり原始的で、特定のポートでリッスンしているプロセスをチェックできません。誰かが良い代替案を知っていますか?その1つのポートでリッスンしているプロセスを知るだけで十分です。


1
試してみるsudo lsof -i -P
vcsjones 2010

lsofは、タスクが実際にポートに接続したときにのみ機能するという印象を受けました。さらに| grep portno、有意義な結果を得るには、少なくともa も必要です。
Martin

回答:


14

@vcsjonesはコメントで言ったように、lsofこのためのツールです。

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

なしでは-i、開いているすべてのファイルが表示されます。ただで-iそれが唯一のネットワークファイルを示しています。後に何かを指定すると、-iIPv4 / 6、TCP / UDP、ホスト名またはIP、およびポート番号/サービス名のいずれかまたはすべてで制限できます。


2
私のような誰かが特定のポートを使用してすべてのプロセスを盲目的に殺すのに役立つ場合に備えて:lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs killポート5000でリッスンしているすべてのプロセスを殺す
JeremyKun
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.