今天公司LD让写个小脚本,监控一个进程是否存在,存在怎退出脚本,如果不存在就发一封邮件给指定邮箱,我是通过守护进程的运行状态来判断该服务的连接情况,并将测试结果显示到标准输出上。
为了方便监控,使用crontab使其每两小时执行一次。
代码:
#!/bin/bash
#
#提示用户输入一个指定守护进程名称,并将其赋予变量n_proc
#echo "Please input a name of process
#read n_proc
#
#搜索变量n_proc中指定的守护进程的进程号,并赋值给变量pidnu
pidnu=$( ps ax |grep -v "ps ax"|grep -v grep |grep $n_proc|awk ‘{print $1}‘)
#
echo "checking for \"$n_proc\",please wait..."
#
#判断变量pidnu是否为空,空则证明此进程不存在。
if [ -z "$pidnu" ]
then
echo "The status be stopped..."
mail -s "title" *********@163.com < /root/shell/mail.txt
exit
else
echo "The status be running..."
fi设置定时任务
[root@localhost ~]# crontab -e 2 * * * * sh ~/shell/status.sh (如果使用定时任务的话,就应该把上面的$n_proc换成指定的某个进程)
邮件已成功发送
本文出自 “稳稳的幸福” 博客,请务必保留此出处http://yuanye1128.blog.51cto.com/8808749/1539594
【shell脚本】监控服务进程状态,布布扣,bubuko.com
原文地址:http://yuanye1128.blog.51cto.com/8808749/1539594