用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 相关文章推荐
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
PHP编实现程动态图像的创建代码
Sep 28 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
php实现递归的三种基本方式
Jul 04 PHP
PHP常用的小程序代码段
Nov 14 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
php中的依赖注入实例详解
Aug 14 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
php 解析非标准json、非规范json
Apr 01 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中计算时间差的几种方法
2009/12/31 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
优化Python代码使其加快作用域内的查找
2015/03/30 Python
名片管理系统python版
2018/01/11 Python
python变量命名的7条建议
2019/07/04 Python
如何使用python操作vmware
2019/07/27 Python
如何理解python对象
2020/06/21 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
外贸学院会计专业应届生求职信
2013/11/14 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
出租房屋协议书
2014/09/14 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
化验室岗位职责
2015/02/14 职场文书
追悼会悼词大全
2015/06/23 职场文书
调解协议书范本
2016/03/21 职场文书
MySQL Server 层四个日志
2022/03/31 MySQL