提问者:小点点

我如何在脚本失败时得到通知并在Linux上自动重新启动它? [已关闭]


我有一个运行在远程服务器上的脚本,如果由于任何原因,脚本崩溃了,我希望得到它已经崩溃的通知,我希望它自动重新启动。 对我来说,错误是什么并不是太重要,只要它被快速重启,然而,知道错误将是一个加分。

编辑:

我把标题从“什么是最好的方式”改成了“什么是一种方式”,使它不那么以意见为基础。


共1个答案

匿名用户

一种办法可以是:

在脚本中追加以下行:

# write the pid of the current process in a pid file
echo $$ >/tmp/script_pid

之后,您可以使用pspgrep编辑您的crontab,检查进程(在我的例子中是脚本bash_pid.sh)是否正在运行,如果没有,则重新启动它。

或多或少是这样的:


if pgrep -F /tmp/script_pid;then echo "process is running"; else . <ABSOLUTE_PATH>/bash_pid.sh;fi