【原创】通过编写一个简单的进程监控脚本来分享一些重要的注意事项

blogdaren 2019-01-30 抢沙发 160人次

问题背景:

1. 启动某个服务后,为了保证服务的稳定性,需要写一个监控脚本,用于检测服务进程是否正常。

2. 注意: 金牛座拿手PHP,所以我们监控脚本采用PHP编写,一贯的高效简单而优雅,你可以选用任何你喜欢的语言编写。

研究目的:

如题,通过编写一个简单的进程监控脚本并配合crontab来分享一些重要的注意事项。

脚本演示:

<?php 
function checkService()
{
	date_default_timezone_set("Asia/Shanghai");
	exec('ps aux | grep -i service.php | grep -v grep', $service_pids);
	if(empty($service_pids))
	{
		$cmd = "/path/to/php /path/to/service.php start -d";
		system($cmd);
	}
}

checkService();

注意事项:

1.  对于第5行的检测进程可用 exec 或 system 指令。

2.  对于第8行的执行进程请用 system 指令,否则调用守护进程类服务可能会出现异常。

3.  同一个脚本中,如果反复调用 exec 指令,务必保证其第二个参数的变量名各不相同。

4.  crontab 中必须全部使用绝对路径进行调用。

(1) */5 * * * *  /paht/to/php  /path/to/check.php &  【√】

(2) */5 * * * *  php  check.php &  【×】

(3) */5 * * * *  php  /path/to/check.php &  【×】

(4) */5 * * * *  /paht/to/php  check.php &  【×】

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】通过编写一个简单的进程监控脚本来分享一些重要的注意事项

发表评论:

您的昵称:
电子邮件:
个人主页: