![ubuntu nginx 运行两次-无法终止额外的进程](https://linux22.com/image/583347/ubuntu%20nginx%20%E8%BF%90%E8%A1%8C%E4%B8%A4%E6%AC%A1-%E6%97%A0%E6%B3%95%E7%BB%88%E6%AD%A2%E9%A2%9D%E5%A4%96%E7%9A%84%E8%BF%9B%E7%A8%8B.png)
在 Amazon EC2 上运行的全新 Ubuntu 12.04 实例
让 Nginx 与 Passenger 一起运行
添加了 upstart 脚本
description "NGiNX starter"
start on (local-filesystems and runlevel [2345])
stop on runlevel [016]
respawn
exec /etc/nginx/sbin/nginx
问题是我有多个 nginx 处理正在运行(超出工作线程)
$ ps aux | grep nginx
root 720 0.0 0.2 39624 1228 ? Ss 03:23 0:00 nginx: master process /etc/nginx/sbin/nginx
www-data 722 0.0 0.3 40136 1884 ? S 03:23 0:00 nginx: worker process
www-data 723 0.0 0.3 40136 1884 ? S 03:23 0:00 nginx: worker process
www-data 724 0.0 0.3 40136 2388 ? S 03:23 0:00 nginx: worker process
www-data 725 0.0 0.3 40136 1884 ? S 03:23 0:00 nginx: worker process
www-data 726 0.0 0.3 40136 1884 ? S 03:23 0:00 nginx: worker process
root 2218 0.0 0.6 39620 3688 ? Ss 03:45 0:00 /etc/nginx/sbin/nginx
我的理解是,进程 720 已正确启动,进程 722、723、724、725、726 代表在 nginx.conf 中配置的工作线程
我不明白进程 2218 在做什么?当我尝试
sudo kill 2218
我明白了
kill: No such process
当我再次使用 ps aux | grep nginx 检查时,恶意进程将在新的 PID 下运行
我认为 upstart 脚本出了问题,因为如果我将其移出 /etc/init 重新启动实例,然后运行相同的 ps aux | grep nginx 则没有任何运行
如果我手动启动 nginx,则不会出现恶意线程
我在另一台服务器上使用了同样的脚本一年多了,没有任何问题,知道我做错了什么吗?