소프트웨어
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)