it-swarm-ja.com

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コマンドを使用しましたが、すべてのポートを占有するすべてのサービスが表示されます。ここでは、特定のポートのみに関心があります。

50
Geek

二通り:

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

できるよ - man lsof または man netstat 必要な情報。 portを検索するポート番号に置き換えます。

57
BitsOfNix

fuserまたはlsofを使用できます。つまり、

fuser 8453/tcp
lsof -i TCP:8453

fuserの詳細情報が必要な場合は、-vフラグ、つまりfuser -v 8453/tcp

12
Ulrich Dangel

その価値について... netstat(具体的にはGNU netstat)のバージョンに応じて、使用できます

netstat -punta | grep <port>

これは、ESTABLISHEDおよびLISTEN状態の接続を示し、UDPおよびTCPであり、UNIXローカルソケットを無視します。最終結果は、すてきな、小さな結果セットです。

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

-uフラグはudpを示します

-nフラグは数値アドレス用です

-tフラグはtcpを示します

-aは、リスニングソケットと非リスニングソケットを示します

9
h3rrmiller

Centosについて

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

Ubuntuで

/usr/bin/lsof -i tcp:8453

または、フィルターを使用してnetstatの結果を絞り込みます。

3
sundeep