私はOS X Mountain Lionラップトップを使用しており、Vagrantボックスを2つ持っています。ポート8080でリッスンしているプロセスを把握しようとしています。私のバリエーションは100行のように生成されますが、特定のポート番号では生成されません。私は次のようなものを仮定しています:
netstat -XXX | grep 8080
私はOS X Mountain Lionラップトップを使用しており、Vagrantボックスを2つ持っています。ポート8080でリッスンしているプロセスを把握しようとしています。私のバリエーションは100行のように生成されますが、特定のポート番号では生成されません。私は次のようなものを仮定しています:
netstat -XXX | grep 8080
回答:
残念ながら、OSXではnetstat
、特定のポートに接続されているプロセスIDを表示しないBSDに固執しています。代わりに行う必要があるのはuse lsof
です。使用する必要がある構文は次のとおりです。
lsof -i :8080
これにより情報の塊が出力されますが、ほとんどの情報は気にしませんが、フィールドには適切なラベルが付いています。たとえば、この出力例を確認してください。
lsof -i :53237
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
GoogleTal 927 guest 29u IPv4 0x2c3f7f95244855c3 0t0 TCP localhost:53237 (LISTEN)
これにより、ポート53237がプロセスID 927で使用されていることがわかります。COMMANDフィールドを読み取るとき、この出力が切り捨てられることに注意してください。実際には、バイナリのフルネームはGoogleTalkPluginです。
VBoxHeadl
-どのVirtualBoxインスタンス(現在2つある)を確認する方法はありますか、私はあまりにも多くを求めていますか(おそらく後者)。THX
lsof -p PID
、開いているファイルのリストを見つけて使用するか、参照します。
これは、リスニングポートのPIDを探すときに使用したいものです。Linuxで使用する場合:netstat -tunlp
追加情報はmanページにあります。
-p
プログラムへの引数をリストしません。これはどうやって見るの?
-p
OSXの場合はport
です。OSXとLinuxで異なる議論をするという開発者の決定が嫌いです...
私はnetstat
この機能を提供するためにOS X で変更を行っていました-v
が、ソケットに関連付けられたpid を提供するという事実につまずきました。
-v
冗長レベルを増加させ、それが文書化されています。developer.apple.com/library/mac/documentation/Darwin/Reference/…–
特定のポートを見つけるには、以下のnetstatコマンドを使用します
netstat -an | grep ':8080'
man netstatから
-p、--program各ソケットが属するプログラムのPIDと名前を表示します。
私は通常これを行うだけです:netstat -antup | grep 8080
-p protocol Show statistics about protocol, which is either a well-known name
-p
PIDの表示はGNU netstatコマンドですが、OSXはBSD netstatを使用します。
-p
プログラムへの引数をリストしません。これはどうやって見るの?
-p
OSXの場合はport
です。OSXとLinuxで異なる議論をするという開発者の決定が嫌いです...