如何制作一个守护程序来检查程序是否正在运行(定期)并且如果不是则启动它?
我使用的是GNOME 3.18的Ubuntu GNOME 15.10,但是我不喜欢普通的应用程序启动器,所以我安装了Docky,但是Docky突然关闭,我不得不手动重启它,所以我想知道如何制作一个守护进程在后台运行的所有时间都会定期检查Docky是否正在运行,如果不运行,请运行它?
在任何您想要的位置创建脚本,最好在您的主目录中。 我想打电话给我, check_docky.bsh
。 在脚本中,执行以下操作:
#!/bin/bash ps -ef | grep -i docky.exe | grep -v grep >/dev/null case $? in 1) sh -c "mono /usr/lib/docky/Docky.exe";; 0) exit 0;; esac
在上面的脚本中, ps -ef | grep
ps -ef | grep
将查看Docky
是否正在运行。 如果它没有运行,返回的退出代码是1
,那么case语句将自动重新启动Docky
。 否则,脚本将正常退出,代码为0
。
确保脚本是可执行的:
chmod +x check_docky.bsh
然后为脚本创建一个cron
作业。
首先,运行crontab
如下所示:
$ crontab -e
然后作为新条目添加以下内容,以便从每小时的:00
开始每10分钟检查一次:
# mh dom mon dow command */10 * * * * /home//check_docky.bsh
要显示此命令有效:
~$ ps -ef | grep wookie | grep -v grep ~$ echo $? 1 ~$ ps -ef | grep wookie terrance 20978 6976 0 13:53 pts/17 00:00:00 grep --color=auto wookie ~$ echo $? 0
希望这可以帮助!