python 脚本的 Cron 看门狗

python 脚本的 Cron 看门狗

我有一个 python 脚本,每次失败时应该自动重新启动。

我尝试使用 cron 来实现此目的,并进行以下设置:

*/2 * * * * pgrep -f handler.py || /usr/bin/nohup /usr/bin/python3.6 /root/projects/myproject1/handler.py &

虽然,如果我直接在 cli 中运行这个命令,它启动得很好,但它在 cron 中不起作用。

Syslog 显示 Cron 尝试运行命令且没有任何错误:

CRON[10810]: (root) CMD (pgrep -f handler.py || /usr/bin/nohup /usr/bin/python3.6 /root/projects/myproject1/handler.py &)

答案1

最好将脚本作为系统服务或以下导师或类似的过程控制系统。

编辑:

只是为了澄清原因。你不必发明轮子。 systemd 和supervisor 都完全满足您的需要。

相关内容