gpt4 book ai didi

python - Tornado 不会在主管中干净地重新启动

转载 作者:太空狗 更新时间:2023-10-29 21:37:54 24 4
gpt4 key购买 nike

我正在使用 tornado 来运行一个 flask 应用程序,我有一个 shell 脚本,它会做一些工作然后运行该应用程序。

#!/usr/bin/env bash
some_work
more_work
python /usr/share/theapp/theapp.py

我使用 supervisor 来管理这个小脚本。启动正常(sudo supervisorctl start theapp.sh),但是当我想重新启动时,python子进程不退出并挂起,占用端口并阻止再次启动。我已经尝试添加陷阱以确保当主管停止脚本时 python 代码真的停止了,但这没有用。我试过为 gevent 的 wsgi 服务器换掉 Tornado ,但遇到了同样的问题。我应该怎么做这个小脚本?

最佳答案

TERM 信号仅发送到 bash 脚本 theapp.sh,而不会被 python 进程接收。您可以在主管配置的程序部分尝试 stopasgroup 选项,它与 bash(和其他 shell)处理信号的方式更兼容[1]。

[1] http://www.vidarholen.net/contents/blog/?p=34

关于python - Tornado 不会在主管中干净地重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11374543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com