shell进程检查脚本,脚本名字包含进程的名字,用grep -v "$0"

我们经常需要做一些进程的检查脚本

脚本的名称,我们希望是包含进程的关键字,但是在检查进程是否存在的时候,

脚本名称和进程名称一样,需要格外小心

例如检查zabbix的脚本如下

脚本名称 check_zabbix_agentd.sh

#!/bin/bash
prog=$(ps -ef | grep zabbix_agentd|grep -v grep|grep -v "$0")
if [ -z "$prog" ];then
/usr/local/zabbix/sbin/zabbix_agentd
echo $(date '+%F %H:%M:%S')" zabbix agent process started"  >> /usr/local/shell/check_zabbix_agentd.sh.log
fi
ps -ef | grep zabbix_agentd|grep -v grep|grep -v "$0"

grep -v "$0" 可以过滤掉检查脚本自身的PID

猜你喜欢

转载自www.cnblogs.com/faberbeta/p/12969496.html