Tente isto:
sudo kill $(pgrep nginx)
se não funcionar, tente
sudo pkill nginx
se não funcionar, tente pesquisar pelo PID do serviço:
ps aux | grep nginx
Em seguida, mate por PID:
sudo kill -9 PID
Eu achei isso fácil, mas não parece.
Aqui estão as informações do meu sistema:
# nginx -v
nginx version: nginx/1.8.0
# uname -a
Linux ip-10-0-0-247 3.2.0-69-virtual #103-Ubuntu SMP Tue Sep 2 05:21:29 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
E aqui estão minhas várias tentativas de parar o NginX:
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1743/nginx -g daemo
# service nginx stop
nginx start/running, process 1775
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1775/nginx -g daemo
# nginx -s stop
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1783/nginx -g daemo
# nginx -s quit
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1791/nginx -g daemo
# initctl stop nginx
nginx start/running, process 1830
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1830/nginx -g daemo
Como visto acima, toda vez que tento parar o serviço NginX, ele ganha vida com um novo PID. Buscando ajuda para parar o serviço NginX graciosamente.
Tente isto:
sudo kill $(pgrep nginx)
se não funcionar, tente
sudo pkill nginx
se não funcionar, tente pesquisar pelo PID do serviço:
ps aux | grep nginx
Em seguida, mate por PID:
sudo kill -9 PID
De acordo com esta resposta , há uma incongruência entre o arquivo nginx.conf e o script de inicialização que controla todos os ações de 'serviço'.
A linha pid /tmp/nginx.pid;
deve aparecer no seu arquivo /etc/nginx/nginx.conf
. Essa linha deve ser copiada em todas as ações do script em /etc/init.d/nginx
, sempre que houver uma referência a pid. Em seguida, as ações top / reload / restart devem funcionar.