需要让我的Python网页应用程序像守护进程一样自我监控(保持活动)

1 投票
3 回答
1042 浏览
提问于 2025-04-16 23:11

我用BaseHTTPServer写了一个Python网页应用,它是为了在本地运行,处理本地的请求。这个应用打算放在一个大的虚拟专用服务器(VPS)上。

所以我需要一个可靠的方法来保持它运行。像Apache这样的服务器,如果停止了,可以很容易地重新启动。同样,我可以设置CRON定时任务,让它定期执行“tomcat start”,这样如果服务停止了,它就会自动启动。

那我该怎么让我的Python应用也能保持运行呢?我希望能有一种方法,可以让CRON来控制它。

3 个回答

0

另一个选择可以是类似于这里提到的自我监控脚本(使用 subprocess)。虽然这个参考资料可能不是最全面的,但应该能帮助你入门:http://www.tsheffler.com/blog/?p=377

4

第一种方法是使用 supervisor。另一种选择是使用 python-daemon,并创建一个系统级的启动脚本,这样系统启动时就会自动运行。

另外,如果你想快速解决问题,可以在像 screentmux 这样的可分离的终端中运行你的应用。

3

你需要的是一个进程监控工具,比如之前提到的 supervisord,不过还有很多其他的选择,比如 GodMonitUpstart 等等。

我自己只用过 supervisord,它有一个 XMLRPC 接口,你可以从其他应用程序使用这个接口,比如通过 CRON 运行的程序。

撰写回答