Linux では、必要な情報を取得するには、root またはプロセスの所有者である必要があります。そのため、別のユーザーとして実行されているプロセスの場合、先頭に sudo
を追加します 必要なもののほとんどです。それに加えて、最近の Linux システムでは 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)
lsof
も使用できます 効用。 root である必要があります。
# lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
exim4 2799 Debian-exim 3u IPv4 6645 0t0 TCP localhost:smtp (LISTEN)
exim4 2799 Debian-exim 4u IPv6 6646 0t0 TCP localhost:smtp (LISTEN)
netstat
も持たない「CentOS 7minimal」を使用しています lsof
でもありません .しかし、多くの Linux ディストリビューションにはソケット統計コマンドがあります (例:ss
).
以下は実行例です:
# ss -tanp | grep 6379
LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=2531,fd=4))