【问题标题】:Upstart and uWSGI, work processes not exitedUpstart 和 uWSGI,工作进程未退出
【发布时间】:2016-11-27 10:54:10
【问题描述】:

上面表格的第二列是pid。

我正在使用 upstart 来守护 uwsgi,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 选项重新生成。

但问题是当 uwsgi 进程死亡时工作进程没有退出。

例如,如果我运行sudo kill -9 5419,5421、5433、5434、5435、5436 进程未退出。 (示例为进程 5373、5391、5392、5393、5394。)

所以每当 uwsgi 死机时,这种情况就会重复,然后服务器宕机导致内存不足。

有什么问题?

【问题讨论】:

    标签: linux ubuntu ubuntu-14.04 uwsgi upstart


    【解决方案1】:

    您是否尝试过像这样在 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
    

    这适用于我的项目。

    您还可以在此处查看分步教程: https://www.digitalocean.com/community/tutorials/how-to-set-up-uwsgi-and-nginx-to-serve-python-apps-on-ubuntu-14-04

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      相关资源
      最近更新 更多