用php守护另一个php进程的例子

 更新时间:2015年02月13日 10:27:43   投稿:junjie  
这篇文章主要介绍了用php守护另一个php进程的例子,本文直接给出实现代码,需要的朋友可以参考下

要用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实现多线程

    在本篇文章里小编给大家分享了关于php实现多线程的相关知识点以及实例内容,以后兴趣的朋友们学习下。
    2019-01-01
  • 自定义min版smarty模板引擎MinSmarty.class.php文件及用法

    自定义min版smarty模板引擎MinSmarty.class.php文件及用法

    这篇文章主要介绍了自定义min版smarty模板引擎MinSmarty.class.php文件及用法,可实现简单的Smarty模板变量替换与输出显示等功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • thinkPHP中session()方法用法详解

    thinkPHP中session()方法用法详解

    这篇文章主要介绍了thinkPHP中session()方法用法,结合实例形式分析了thinkPHP中session方法的功能、参数、具体使用方法与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • ThinkPHP验证码和分页实例教程

    ThinkPHP验证码和分页实例教程

    这篇文章主要介绍了ThinkPHP验证码和分页实例教程,是ThinkPHP中常见的应用,非常具有实用价值,需要的朋友可以参考下
    2014-08-08
  • php mysql数据库操作类

    php mysql数据库操作类

    mysql数据库 DB类 ,方便学习php的朋友,用类方便扩展,不建议初级用户,可以等熟悉了mysql的数据库操作函数以后再用,要不以后函数都记乱了
    2008-06-06
  • Thinkphp中volist标签mod控制一定记录的换行BUG解决方法

    Thinkphp中volist标签mod控制一定记录的换行BUG解决方法

    这篇文章主要介绍了Thinkphp中volist标签mod控制一定记录的换行BUG解决方法,涉及针对标签执行语句顺序的修改,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • PHP实现微信公众号验证Token的示例代码

    PHP实现微信公众号验证Token的示例代码

    这篇文章主要介绍了PHP实现微信公众号验证Token的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • PHP+memcache实现消息队列案例分享

    PHP+memcache实现消息队列案例分享

    现在memcache在服务器缓存应用比较广泛,下面我来介绍memcache实现消息队列等待的一个例子,有需要了解的朋友可参考。
    2014-05-05
  • PHP Smarty制作响应式布局的步骤

    PHP Smarty制作响应式布局的步骤

    响应式布局是一种网页设计技术,它可以使你的网站在各种设备上(从台式机到平板电脑和手机)都看起来很棒,这篇文章主要介绍了PHP Smarty制作响应式布局的步骤,需要的朋友可以参考下
    2023-08-08
  • ThinkPHP采用原生query实现关联查询left join实例

    ThinkPHP采用原生query实现关联查询left join实例

    这篇文章主要介绍了ThinkPHP采用原生query实现关联查询left join的方法,实例展示了ThinkPHP中query方法的使用技巧,需要的朋友可以参考下
    2014-12-12

最新评论