用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 - Html Transfer Code
Oct 09 PHP
如何限制访问者的ip(PHPBB的代码)
Oct 09 PHP
php addslashes及其他清除空格的方法是不安全的
Jan 25 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
Yii调试查看执行SQL语句的方法
Jul 15 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
77A一级收信机修理记
2021/03/02 无线电
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
优化PHP代码技巧的小结
2013/06/02 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
使用python实现接口的方法
2017/07/07 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
用python批量移动文件
2021/01/14 Python
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
const和static readonly区别
2013/05/20 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
计生专干事迹
2014/05/28 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL