进程监护实现

脚本实现进程监护

通过PS命令查询进程,通过判断进程的运行状态从而继续后续操作:对指定进程在非正常运行情况下进行重启操作

#!/bin/sh
# 函数: CheckProcess
CheckProcess()
{
	#$PROCESS_NUM获取指定进程名的数目
	PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`
	if [ $PROCESS_NUM -eq 0 ]; then
		return 1
	else
#		echo "$PROCESS_NUM"
		return 0
	fi
}
# ---------------------------------程序开始---------------------------------------
# 检查程序是否已经存在
while [ 1 ] ;do
	sleep 10
	
	# 监控test进程
	CheckProcess "test"
	if [ $? -eq 1 ]; then
		echo "restart test process"
		killall -9 test
		exec /mnt/platform/bin/test > /dev/null &
	fi	
done
Note:该方法只适用于监护进程名比较特殊的进程,对于进程名可能为其他进程子项的进程并不适用;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章