GNU/Linux >> Linux の 問題 >  >> Linux

Linux –特定のポートを使用してプロセスのPidを見つけますか?

Ubuntuシステムにhadoopをインストールしています。起動すると、ポート9000がビジーであると報告されます。

使用したもの:

netstat -nlp|grep 9000

そのようなポートが存在するかどうかを確認し、これを取得しました:

   tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN

しかし、どうすればそれを保持しているプロセスのPIDを取得できますか?

承認された回答:

Linuxでは、必要な情報を取得するためにrootまたはプロセスの所有者である必要があるため、既存のコマンドは機能しません。

最新のシステムでは、ss この情報を取得するために使用する適切なツールです:

$ sudo ss -lptn 'sport = :80'
State   Local Address:Port  Peer Address:Port              
LISTEN  127.0.0.1:80        *:*                users:(("nginx",pid=125004,fd=12))
LISTEN  ::1:80              :::*               users:(("nginx",pid=125004,fd=11))

現在使用しているものと同じ呼び出しを使用することもできますが、最初にsudoで昇格する必要があります :

$ sudo netstat -nlp | grep :80
tcp  0  0  0.0.0.0:80  0.0.0.0:*  LISTEN  125004/nginx

lsofを使用することもできます:

$ sudo lsof -n -i :80 | grep LISTEN
nginx   125004 nginx    3u  IPv4   6645      0t0  TCP 0.0.0.0:80 (LISTEN)

Linux
  1. 最もよく使用される7つのLinux名前空間

  2. Linuxの特定のポートで実行されているプロセスを強制終了する方法は?

  3. コマンドを使用してLinuxでプロセスを強制終了する方法は?

  1. Linuxコマンドdateを使用しているときに特定の時間を追加します

  2. Linuxで特定のポートを使用しているプロセスを見つける

  3. Linux の特定のポートで netstat を使用する方法

  1. Linuxでprocファイルシステムを使用してトラブルシューティングする

  2. Unix / Linux でプロセスのパスを取得するにはどうすればよいですか

  3. 特定のポートを使用してプロセスの PID を見つけていますか?