Python/Flask后台进程死亡



NB!这是对这个问题的重述。我最初的帖子被关闭了,因为有人认为我问我如何配置Flask应用程序进行生产或在后台运行。这不是问题所在。问题是为什么python后台进程突然终止。

我正在Ubuntu上运行一个Flask应用程序(使用开发服务器(,命令行如下:

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

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

有什么原因吗?有没有办法记录下来?log.txt中也没有显示发生了什么的日志条目。

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

我有另一个Flask应用程序;永生";。它是以相同的方式构建的,但该过程将一直存在,直到计算机启动或出现一些未处理的异常。

我想我在这里发现了问题。看起来systemd在一段时间后就终止了会话——即使是在后台运行进程。

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

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

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

相关内容

  • 没有找到相关文章

最新更新