AIXでは、ポートにバインドされたプログラムのフルパスを取得するにはどうすればよいですか?


14

Linuxでは、次のようにnetstat -tulpnwand を使用できますps

# netstat -tulpnw | grep :53
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1482/named          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               1482/named          

# ps aux | fgrep 1482
named     1482  0.0  1.0  93656 44900 ?        Ssl  Sep06   3:17 /usr/sbin/named -u named
root     20221  0.0  0.0   4144   552 pts/0    R+   21:09   0:00 fgrep --color=auto 1482
# 

kshAIX 6で使用する場合、ポートにバインドされたプログラムのフルパスを取得するにはどうすればよいですか?

回答:


10

IBMが推奨する:利用lsof -i -nとポートXYを探します。からの解析可能な出力が必要な場合lsofは、-Fフラグを使用して、awkで出力を解析します。

AIX V5のプリコンパイル済みバイナリを取得できます。V6用のコンパイル済みバイナリがあるかどうかはわかりません。ない場合は、ソースを取得してコンパイルします。


AIXでlsofが常に使用できるとは限らない:P
LanceBaynes

2
だから、それをダウンロードしたりからそれをコンパイルしたソース、それはだIBMが推奨します
ジル 'SO-悪であるのをやめる'

マシン上に常に「lsof」があるとは限りません...しかし、私はこれを良い答えとして取ることができます(他のものも「良い」!ty)
ランスベインズ

4

で使用netstatしてみてくださいrmsock

port=$1
addr=`netstat -Aan | grep $port | awk '{print $1}`
pid=`rmsock $addr tcpcb | awk '{print $9}'`
ps -ef | grep $pid

の場合netstat-Aソケットに関連付けられたプロトコル制御ブロックのアドレスが表示され、-aオプションはサーバープロセスのソケットを含むすべてのソケットの状態を表示し、-nオプションは数値形式で出力を提供するため、アドレスを解決しようとして時間を無駄にしません。

rmsock、のcolumn1出力で指定されたアドレスnetstatを使用し、tcpcbデータベースを使用して、pidと名前を含む、そのソケットを保持しているプロセスに関する情報を返します。

その後ps -ef | grep $pid、プロセス情報を取得するために使用できます。

詳細については、IBM Systems Magazineでこの記事を参照してください。


これは私のAIX上で正しく実行されるイベントではありません
Kiwy

1

アプリケーションのロックポートを見つける最も簡単な方法の1つは、lsofを使用することですまたはlsof64です

lsof64 -nP | grep $PortNumber

または

lsof -nP | grep $PortNumber

上記は、指定されたポート番号をロック/使用しているプロセスIDを返します。実行したら、以下を実行して、実行中のアプリケーション/プロセスを見つけます

proctree $pid

0

私はAIXに精通していませんが、あなたは、wまたはe引数をフォーマットしようとしましたpsか?

ps uwx | grep 1482
# or 
ps uex | grep 1482

オンラインでマニュアルを確認できます。AIX psは従来のBSDフラグをサポートしていますが、指定したフラグはどのように役立ちますか?
ジル「SO-悪であるのをやめる」

うーん、AIXで異なることをしているようです。あなたは、参照ドキュメントがlオプションが含まれていますがどの版画"USER、PID、%のCPUは、%MEM、SZ、RSS、TTY、STAT、STIME、TIME、およびCOMMANDフィールド"
frogstarr78

0
netstat -ape | grep $PortNumber

コマンドが何をしているのか説明してもらえますか?正当化せずにコードを貼り付けることはあまり役に立ちません。
-n0pe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.