主管重启导致僵尸uwsgi进程

时间:2016-10-20 12:17:02

标签: uwsgi supervisor

我有一个在nginx和uwsgi上运行的python / Django项目(myproject)。

我通过supervisord运行uwsgi命令。这非常有效,但在重新启动supervisord时会创建僵尸进程。我究竟做错了什么?我清楚地看到干净利落的是什么?任何建议?

主管服务通常需要太长时间。那时我在supervisor.log文件

中找到了以下内容
  

INFO等待stage2_BB_wsgi,stage3_BB_wsgi,stage4_BB_wsgi去世

指向注意:我在一台计算机上运行多个登台服务器,即stage2 .. stageN

  

supervisor.conf 文件提取    [program:stage2_BB_wsgi] command=uwsgi --close-on-exec -s /home/black/stage2/shared_locks/uwsgi_bb.sock --touch-reload=/home/black/stage2/shared_locks/reload_uwsgi --listen 10 --chdir /home/black/stage2/myproject/app/ --pp .. -w app.wsgi -C666 -H /home/black/stage2/myproject/venv/ user=black numprocs=1 stdout_logfile=/home/black/stage2/logs/%(program_name)s.log stderr_logfile=/home/black/stage2/logs/%(program_name)s.log autostart=true autorestart=true startsecs=10 exitcodes=1 stopwaitsecs=600 killasgroup=true priority=1000

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要将stopsignal设置为INTQUIT

默认情况下,supervisord在重新启动程序时会发出SIGTERM。这不会杀死uwsgi,只会重新加载它及其工作人员。