让程序始终在后台运行

让程序始终在后台运行

我编写了一个 Python 脚本,该脚本需要不断执行某些工作,每当机器运行时,该脚本都需要运行,问题是它有时会因不可预防的原因而崩溃。在这些情况下,我希望它重新启动。

我考虑将其设为守护进程,但我不确定这是否是小题大做还是正确的做法。

答案1

(while true; do echo "$(date) hello world"; sleep 1; done) &

或者对于你的脚本:

(while true; do ./python_script.py; done) &

答案2

您可以使用监控工具。它非常小并且对于任何类型的流程管理和监控都很有用。

从以下位置下载二进制包后此链接,您可以将其解压到系统上的一个文件夹中,然后将包中的两个文件复制到系统中进行安装:

cd /path/to/monit/folder
cp ./bin/monit /usr/sbin/monit
cp ./conf/monitrc /etc/monitrc  

现在/etc/monitrc根据您的需要进行编辑(参考文件)然后创建一个初始化控制文件在启动时启用 monit。现在像这样启动 monit:

initctl reload-configuration
start monit

相关内容