脚本实现进程监护
通过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:该方法只适用于监护进程名比较特殊的进程,对于进程名可能为其他进程子项的进程并不适用;