Linux Upstart和uWSGI,未退出工作进程
上表的第二列是pid 我正在为daemonize uwsgi使用upstart,upstart配置文件如下:Linux Upstart和uWSGI,未退出工作进程,linux,ubuntu,ubuntu-14.04,uwsgi,upstart,Linux,Ubuntu,Ubuntu 14.04,Uwsgi,Upstart,上表的第二列是pid 我正在为daemonize uwsgi使用upstart,upstart配置文件如下: respawn chdir ${DIR_OF_PROJECT} script set -a . ${DIR_OF_PROJECT}/.env uwsgi --ini uwsgi.ini --plugin python3 --master --die-on-term end script uwsgi由脚本部分的最后一行开始 当uwsgi死亡时,uwsgi将通过
respawn
chdir ${DIR_OF_PROJECT}
script
set -a
. ${DIR_OF_PROJECT}/.env
uwsgi --ini uwsgi.ini --plugin python3 --master --die-on-term
end script
uwsgi由脚本部分的最后一行开始
当uwsgi死亡时,uwsgi将通过respawn
选项获得重生
但问题是,当uwsgi进程死亡时,工作进程并没有退出
例如,如果我运行sudo kill-9 5419
,5421、5433、5434、5435、5436进程将不会退出。(它的示例是流程53735391539253935394。)
所以,每当uwsgi死机时,就会重复这种情况,然后服务器停机,导致内存不足
有什么问题吗?您是否尝试过在uwsgi.ini中指定die on term参数,如下所示:
[uwsgi]
module = wsgi:application
master = true
processes = 5
socket = myapp.sock
chmod-socket = 664
vacuum = true
die-on-term = true
这对我的项目很有用
您还可以在此处查看分步教程: