繁体   English   中英

Python / Flask 后台进程死机

[英]Python / Flask background process dies

注意。 这是问题的转贴。 我的原始帖子已关闭,因为有人认为我问我如何配置 Flask 应用程序以用于生产或在后台运行。 这不是问题。 问题是为什么 python 后台进程突然死掉了。

我正在使用以下命令行在 Ubuntu(使用开发服务器)上运行 Flask 应用程序:

python myflaskapp.py > log.txt 2>&1 &

在我注销 ssh session 之后 - 它运行了一段时间但突然进程停止了。 也没有导致它的请求。 它只是死了。 该应用程序非常简单。 没有数据库连接或任何东西。 它只是接收一些文件上传并使用 XLRD 将其转换为 csv。 但是即使没有请求发送给它,它也会在一段时间后死亡。

任何想法是什么原因造成的? 有什么办法记录吗? log.txt 中也没有显示正在发生的事情的日志条目。

我知道我不应该为生产运行开发服务器,而且我现在也在 gunicorn 中运行它 - 但我真的很想知道为什么 Python 进程会死掉。

我有另一个 Flask 应用程序,那个应用程序“永远存在”。 它以相同的方式构建 - 但该过程将一直存在,直到计算机启动或发生一些未处理的异常。

我想我在这里找到了问题。 一段时间后,systemd 似乎正在杀死 session - 即使在后台运行该进程。

有(至少)两种解决方案:

  • 在 logind.conf 中设置 KillUserProcesses=No
  • 改为作为 systemd 服务运行

https://fedoraproject.org/wiki/Changes/KillUserProcesses_by_default

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM