出现问题error pid /run/nginx.pid
背景:nginx一直是運行的,儅再次執行nginx -s stop提示error pid /run/nginx.pid
原因:启动时候和现在pid配置不一致
解決方法
由於不能通過命令直接停止nginx,使用kill停止,具体步骤如下
1.终端通过 ps aux|grep nginx 查看nginx的所有进程
ps aux输出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
格式说明:
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态,linux的进程有5种状态:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
2.通过kill -9 nginx的pid来杀死进程(注意,如果电脑上有多个nginx服务,上面的命令会有很多的进程,这是根据USER来区分是否为自己的nginx,USER是在nginx.conf中配置好的)
要杀掉所有属于自己nginx的进程(通过USER确定)。
3.执行sudo nginx -c /etc/nginx/nginx.conf
4.执行sudo nginx -s reloa。即可完成nginx的重启操作。