任意のポートで複数のアプリケーションが実行されています。 pidまたはファイルの場所を取得し、それが実行されているポートを見つけるにはどうすればよいですか?
望ましい出力の例:
www-data/apache = 80
my-awesome-game = 2023
答え1
私は使用します
# netstat -anp
-p オプションは、関連する PID に関連付けられたソケットが属するプログラムの名前を表示します。出力をgrepして、必要な行のみをフィルタリングできます(PIDまたはプログラム名に基づいて)。
答え2
netstatと同様に、lsofも次のことができます。
lsof -i
必要なPIDを見つけるには、出力をgrepする必要があります。
lsofを使用する利点は、netstatの「-p」がすべてのUnixバージョンで動作しないことです。私はAIX、Solaris、およびHP-UX(Red Hatを除く)を管理し、すべてのパラメーターが同じであるため、lsofを使用します。 、一部の機能は正常に動作しませんが(例:排他ファイルと非標準のファイルシステムを使用すると、ファイル名やその他の情報を見つけるのに問題が発生する可能性があります)