我有一个python3.9脚本,我希望让它全天候运行。在这个脚本中,我使用python-daemon来保持它的运行,如下所示:
import daemon
with daemon.DaemonContext():
%%script%%
它运行正常,但是几小时或几天后,它就会随机崩溃。我总是用sudo
启动它,但是我似乎找不到哪里可以找到守护进程的日志文件来进行调试。我该怎么做才能确保日志记录?我该如何保持脚本运行或在崩溃后自动重启它?
您可以找到完整的代码here。
我有一个python3.9脚本,我希望让它全天候运行。在这个脚本中,我使用python-daemon来保持它的运行,如下所示:
import daemon
with daemon.DaemonContext():
%%script%%
它运行正常,但是几小时或几天后,它就会随机崩溃。我总是用sudo
启动它,但是我似乎找不到哪里可以找到守护进程的日志文件来进行调试。我该怎么做才能确保日志记录?我该如何保持脚本运行或在崩溃后自动重启它?
您可以找到完整的代码here。
2条答案
按热度按时间vdzxcuhz1#
如果您真的想在后台24/7运行脚本,那么最简洁、最简单的方法肯定是创建systemd服务。
已经有很多关于如何做到这一点的描述,例如here。
systemd
的优点之一是,除了能够在启动时启动服务之外,还能够在出现故障后重新启动服务。如果您只想在崩溃后自动重新启动程序,最简单的方法可能是使用bash脚本。
您可以使用
until loop
,只要给定条件的计算结果为false,就可以使用它来执行给定的命令集。如果命令返回非零exit-status,则重新启动脚本。
yxyvkwin2#
我将从熟悉这两个问题开始:
看起来你需要一个监督员来确保你的脚本/守护进程仍然在运行。你可以看看supervisord。