用php守护另一个php进程的例子


Posted in PHP onFebruary 13, 2015

要用php守护另一个php进程(apache模块的运行的,还有nginx等运行的除外)
a.php要守护b.php

在b.php中 通过 getmypid()函数获取当前进程的id,并将id写入c.pid文件中,如果程序执行完成将c.pid文件删除或清空

在a.php中 验证c.pid是否存在 ,是否为空,如果不为空,将pid读出,通过exec执行 ps -p pid|grep 文件名来判断是否运行,判断后执行相应操作

可能有人要问,为什么不直接 ps aux|grep 文件名,这里主要是考虑到文件重名的情况下会出问题

a.php 代码

<?

$id=intval($argv[1]);

if(!file_exists(‘pid'.$id.'.pid')){

echo “not run”;

exit;

}

$content=file_get_contents(‘pid'.$id.'.pid');

if(empty($content)){

echo “not run”;

exit;

}

exec(“ps p “.$content.'|grep b.php',$pids);

if(count($pids)>0) echo(‘runing');

else{echo ‘not run';}

?>

b.php代码
<?
$id=intval($argv[1]);

if(empty($id))exit;

file_put_contents(‘pid'.$id.'.pid',getmypid());

while(1){

file_put_contents(‘pid'.$id.'.pid',getmypid());

sleep(100);

}

?>
PHP 相关文章推荐
怎样在UNIX系统下安装php3
Oct 09 PHP
PHP详细彻底学习Smarty
Mar 27 PHP
php设置编码格式的方法
Mar 05 PHP
浅析PHP Socket技术
Aug 02 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php数组键名技巧小结
Feb 17 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
Yii2实现ActiveForm ajax提交
May 26 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
cakephp打印sql语句的方法
Feb 13 #PHP
php 使用array函数实现分页
Feb 13 #PHP
php生成RSS订阅的方法
Feb 13 #PHP
linux下实现定时执行php脚本
Feb 13 #PHP
浅谈php自定义错误日志
Feb 13 #PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 #PHP
php制作动态随机验证码
Feb 12 #PHP
You might like
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
CI框架Session.php源码分析
2014/11/03 PHP
深入浅出php socket编程
2015/05/13 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JQuery 入门实例1
2009/06/25 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
js闭包学习心得总结
2018/04/17 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
python opencv如何实现图片绘制
2020/01/19 Python
python如何停止递归
2020/09/09 Python
python安装及变量名介绍详解
2020/12/12 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
俄罗斯女装店:12storeez
2019/10/25 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
海南地接欢迎词
2014/01/14 职场文书
母亲节感恩寄语
2014/02/21 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
最新离婚协议书范本
2014/08/19 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
检讨书格式
2015/01/23 职场文书
爱的教育观后感
2015/06/17 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers