启动程序后退出 cron 作业

启动程序后退出 cron 作业

我有这个 .sh 脚本,我想将其作为 cron 作业每天执行一次。它会检查特定进程 (qbittools) 是否仍在运行,如果没有,则再次启动它。这有效,但是除非 qbittools 进程终止,否则 cron 作业永远不会退出。这会随着时间的推移创建一个 cron 作业队列。

有没有办法执行 else 语句,并在几秒钟后退出 cron 作业,而不管其是否执行?

qbittools 永远不应该结束。这纯粹是为了在它死机时重新启动它。

#!/bin/bash

if pgrep -x "qbittools" > /dev/null
then
    echo "Running"
else
    qbittools reannounce -s 192.168.1.77:10095 -U xxxx -P xxxx &
fi
exit 0

答案1

我认为它现在可以起作用了,我只是缺少一个放弃,见下文:

#!/bin/bash

if pgrep -x "qbittools" > /dev/null
then
    echo "Running"
else
    qbittools reannounce -s 192.168.1.77:10095 -U xxxx -P xxxx &>/dev/null & disown 
fi
exit 0

相关内容