用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 相关文章推荐
php SQL之where语句生成器
Mar 24 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 PHP
php统计文章排行示例
Mar 04 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
nginx下安装php7+php5
Jul 31 PHP
php 猴子摘桃的算法
Jun 20 PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 PHP
php操作redis数据库常见方法实例总结
Feb 20 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框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
js动态为代码着色显示行号
2013/05/29 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
Python实现图片转字符画的代码实例
2019/02/22 Python
python实现最小二乘法线性拟合
2019/07/19 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
倩碧英国官网:Clinique英国
2018/08/10 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
监督检查工作方案
2014/05/28 职场文书
英语分层教学实施方案
2014/06/15 职场文书
法律意见书范本
2015/06/04 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
Java网络编程之UDP实现原理解析
2021/09/04 Java/Android