Shell 程序无法正常运行

Shell 程序无法正常运行

我编写了一个简单的脚本来检查 deluge 守护进程是否正在运行,如果没有,则重新启动它:

#!/bin/bash
if [[ $(pidof deluged | wc -1) -eq 0 ]]; then
    deluged
fi

我将它添加到 cron 上的计划作业中,使其每 5 分钟运行一次......一切正常;如果我杀死 deluge 守护进程(deluged),我的脚本就会正确地重新启动它。

我的问题是:

我正在使用 deluge 下载种子,但有时它会失去与本地主机 (127.0.0.1) 的连接,因此我必须定期检查它是否仍在运行。我该如何改进上述代码以自动重新连接到主机?

答案1

你可以让这变得简单得多。

pidof deluged || deluged

对于第二个问题,如果它记录了一条消息,您可能可以在其中读到它?

答案2

与其不断地重启服务,不如寻找崩溃的根本原因并修复它。

您是否碰巧在基于 ARM 的设备(如 raspberry pi)上运行 deluge?快速谷歌搜索显示,这些崩溃在该设置中相当常见。

本博客有一个你可以尝试的解决方法。

相关内容