ソフトウェア
CentOS 7.4.1708
nginx 1.12.2
私の考えでは、grepがポート80で待機しているすべてのプロセスを返すことができるようです。しかし、Nginxが表示されないので何か間違っているようです。
Nginxが実行されていることを確認するには:
$ service nginx status
Active: active (running)
しかし:
$ ps -ef | grep 80
root 280 2 0 09:50 ? 00:00:00 [kworker/u4:3]first 11288 10899 0 17:41 pts/0 00:00:00 grep --color=auto 80`
Nginxへの参照を返すべきではありませんか?基本的なメカニズムを理解しようとしていますが、何か欠けていることは確かです。とても感謝しています!
ベストアンサー1
ps
他のコマンドと混同されます。ps
進行状況を表示します。あなたが望むlsof
:
lsof -i:80
たとえば、次のように表示できます。
apache2 489 root 4u IPv6 13547 0t0 TCP *:http (LISTEN)
apache2 5441 www-data 4u IPv6 13547 0t0 TCP *:http (LISTEN)
apache2 5442 www-data 4u IPv6 13547 0t0 TCP *:http (LISTEN)
ここで、pid 489、5441、および5442はポート80(HTTPTTP)でリッスンします。
またはss
:
ss -lntp 'sport = :80'
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :::http :::* users:(("apache2",pid=5442,fd=4),("apache2",pid=5441,fd=4),("apache2",pid=489,fd=4))
nginxプロセスIDがある場合は、lsofに直接渡して何が開いているのかを確認できます。たとえば、次のようになります。
lsof -p 489 | grep TCP
apache2 489 root 3u sock 0,8 0t0 13546 protocol: TCP
apache2 489 root 4u IPv6 13547 0t0 TCP *:http (LISTEN)