如果进程未运行,则发送通知电子邮件

时间:2011-12-19 05:06:13

标签: shell

我使用以下的shellcript来检查cron作业中的运行进程:

ps -ef|grep myprocess|grep -v "grep"

如果结果为空(表示进程未运行),我需要发送一封电子邮件,我该如何编写脚本?

2 个答案:

答案 0 :(得分:6)

一个解决方案:

pgrep processname &>/dev/null && exit 0
echo |mail -s"Aiie, process processname not running!" mail@addresse.here

然后将其放入已建议的crontab中。当然,这意味着您必须安装mail命令。

答案 1 :(得分:1)

你可以这样做

PROCESS_FOUND=`ps -ef|grep myprocess|grep -v grep`
if [ "$PROCESS_FOUND" = "" ]
then
    #send mail from here ...Process not running
fi