使用shell脚本监控一个php程序的运行状况是否正常

简单实例讲解如何使用shell脚本监控一个php程序的运行状况是否正常

思路分析

1、我们判断一个程序是否运行,可以通过查看该程序的进程信息来判断。

例: 判断程序 01FirstScript.sh 是否在运行

命令:ps -ef | grep “HotActivity” | grep -v grep

结果分析: 如果命令执行之后有输出,即输出进程信息。则说明程序正在运行

如果执行之后没有输出,则说明程序没有运行

2、如何监控指定的程序?

我们可以将指定程序的名字作为监控程序的参数传递进去,在内部实现时,通过死循环来不断监控

3、如果程序未运行,如何启动程序?

在判断程序为运行时,如果指定程序名是监控程序的第一个参数。可以通过命令启动指定程序

脚本代码

while [ true ] 
	do 
		pro=$(ps -ef | grep "HotActivity" | grep -v grep | wc -l)
		#过滤出目标进程信息,如果pro为空串说明目标进程未运行 
		#反向过滤掉grep进程 和 本进程信息, 因为这两个进程信息中包含目标进程的名字 
		if [ -z "$pro" ] 
		then 
			echo "程序未启动,重新启动程序" 
			nohup /usr/local/php7/bin/php /data/web/php-script/HotActivity/index.php 2>&1 & #重新启动指定程序 
		else 
			echo "程序正在运行..." 
		fi 
	sleep 2 
done


在这里插入图片描述

1>、一开始指定程序并未运行
2>、然后监控进程检测指定程序未运行,随即启动指定程序
3>、指定程序开始运行
4>、在中途使用kill命令终止指定程序进程
5>、监控进程再次检测到指定程序未运行,随即启动指定程序
6>、指定程序开始运行

猜你喜欢

转载自blog.csdn.net/guo_qiangqiang/article/details/89876403
今日推荐