Linuxの特定のポートでどのサービスが実行されているのか、どうすればわかりますか? [コピー]

Linuxの特定のポートでどのサービスが実行されているのか、どうすればわかりますか? [コピー]

私のLinuxシステムでweblogicサーバーを実行しようとしていますが、次のエラーが発生します。

ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

このエラーは、デフォルトでは8453のデバッガポートがすでに他のサービスで使用されていることを意味すると思います。特定のポート番号でどのサービスが実行されているかを確認するには?

PS:このコマンドを使用したがnetstatすべてのポートを占有するすべてのサービスが表示されます。ここでは特定のポートにのみ興味があります。

答え1

2つの方法:

  • lsof -i :port -S
  • netstat -a | grep port

あなたはできますman lsofまたはman netstat必要な情報を入手してください。port検索したいポート番号に置き換えます。

答え2

fuser以下を使用できますlsof

fuser 8453/tcp
lsof -i TCP:8453

さらに情報が必要な場合は、fuserこのフラグを使用することもできます-v。例:fuser -v 8453/tcp

答え3

それが価値がある場合...使用しているバージョンnetstat(特にGNU netstat)に応じて、次のものを使用できます。

netstat -punta | grep <port>

これは、ESTABLISHED および LISTEN 状態の UDP および TCP 接続を表示し、UNIX ローカル・ソケットを無視します。最終結果は素晴らしい、きちんとした小さな結果セットです。

この-pフラグは、ポートを使用するプロセスIDとプロセス名を提供します。

フラグ-uにudpが表示されます。

この-nフラグは数値アドレスに使用されます。

この-tフラグはTCPを表示します。

-aリスニングソケットと非リスニングソケットの表示

編集 - このコマンドは最新のELディストリビューションで置き換えssられました。netstat

答え4

セントースから

/usr/sbin/lsof -i tcp:8453 (lsof -i protocol:port)

Ubuntuから

/usr/bin/lsof -i tcp:8453

あるいは、フィルタを使用してnetstatの結果を絞り込むこともできます。

関連情報