用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 分页类 扩展代码
Jun 11 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
php获取url参数方法总结
Nov 13 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
实例介绍PHP中zip_open()函数用法
Feb 15 PHP
php装饰者模式简单应用案例分析
Oct 23 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中static静态变量的使用方法详解
2010/06/04 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
JavaScript React如何修改默认端口号方法详解
2020/07/28 Javascript
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
python实现ping的方法
2015/07/06 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
程序员岗位职责
2013/11/11 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
三八节标语
2014/06/27 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
python 解决微分方程的操作(数值解法)
2021/05/26 Python