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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM