用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 5.0对象模型深度探索之绑定
Sep 05 PHP
利用PHP制作简单的内容采集器的代码
Nov 28 PHP
Session保存到数据库的php类分享
Oct 24 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
php将字符串转换为数组实例讲解
May 05 PHP
基于PHP的登录和注册的功能的实现
Aug 06 PHP
浅谈PHP7中的一些小技巧
May 29 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学习 变量使用总结
2011/03/24 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
一个选择最快的服务器转向代码
2009/04/27 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
JS获取时间的方法
2015/01/21 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
JS实现烟花爆炸效果
2020/03/10 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
Python数据存储之 h5py详解
2019/12/26 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python如何合并多个字典或映射
2020/07/24 Python
django使用channels实现通信的示例
2020/10/19 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
医学生就业推荐表自我鉴定
2014/03/26 职场文书
就业意向书范文
2014/04/01 职场文书
秘书英文求职信
2014/04/16 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
语文课外活动总结
2014/08/27 职场文书
廉洁自律个人总结
2015/02/14 职场文书
结婚幸福感言
2015/08/01 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
Redis数据同步之redis shake的实现方法
2022/04/21 Redis