php启动另一个php进程,用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);
}
?>
原文:http://www.jb51.net/article/61112.htm
php启动另一个php进程,用php守护另一个php进程的例子相关推荐
- python打开一个软件并进行操作_python程序中的进程操作
之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起来的python程序也是一个进程 ...
- 手写一个X86操作系统实战:从零开始构建一个U盘启动的自制操作系统(一)
这个标题可能有点大了:-) 一个操作系统至少应该有自己的文件系统和进程机制,不过我们的最终目标应该是这个~ 无论如何,看完本文,你应该可以手写一段通过U盘启动的在PC上运行的不需要其他软件来协助的自启 ...
- EF 多线程TransactionScope事务异常事务(进程 ID 58)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
在使用EF的TransactionScope事务时,如果多线程程序,经常会抛出如下异常 {"事务(进程 ID 58)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品.请重新运行该事务 ...
- linux kill一个进程,linux kill命令:(中止一个进程)
1.作用 kill命令用来中止一个进程. 2.格式 kill [ -s signal | -p ] [ -a ] pid - kill -l [ signal ] 3.参数 -s:指定发送的信号. - ...
- docker 主进程 日志_[docker]从一个实例,一窥docker进程管理
在Docker中,进程管理的基础是Linux内核的PID命名空间技术.在不同的PID命名空间下,可以有相同的PID. Linux内核为所有的PID命名空间维护了一个树状的数据结构,最顶层是系统初始化时 ...
- C#种死锁:事务(进程 ID 112)与另一个进程被死锁在 锁
C#种死锁:事务(进程 ID 112)与另一个进程被死锁在 锁 参考文章: (1)C#种死锁:事务(进程 ID 112)与另一个进程被死锁在 锁 (2) 通信缓冲区 资源上,并且已被选作死锁牺牲品.请 ...
- 若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )
若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( A ) Ⅰ. 若该文件的数据不在内存,则该进程进入睡眠等待状态 Ⅱ. 请求read系统调用会导致CPU ...
- SQL Server死锁问题:事务(进程 ID x)与另一个进程被死锁在 锁 | 通信缓冲区资源上并且已被选作死锁牺牲品。请重新运行该事务。...
### The error occurred while setting parameters ### SQL: update ERP_SCjh_zzc_pl set IF_TONGBU=1 wher ...
- 事务(进程 ID )与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务...
其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B 另一个用户B 访问表B(锁住了表B),然后企图访问表A 这时用户A由于用户B ...
- Linux c 监控进程状态,linux进程监控和守护进程的程序_linux程序一实现守护进程,用于监测程序二的启动状态-C代码类资源...
linux实现对开启进程的监控,1,从配置文件中获得要开启的进程名 2,放入结构体数组中3,用fork加exel启动进程,4,检测proc下进程是否在运行,没有运行,则开启此进程5, struct p ...
最新文章
- ebay OA题目汇总 (更新于20210728)
- html制作柱状图教程,基于Echarts的HTML5 Canvas折线图柱状图DEMO演示
- java 获取文件大小_阿里Java后端开发面经,面试官都替我感到绝望
- python能做什么-学 Python 都用来干嘛的?
- 2与27日 双目视觉系统,相机标定,矫正,匹配(特征,稠密),特征提取的方法,得到视差图
- NETBEUI协议的优点及应用
- 将安卓手机摄像头打造成电脑高清摄像头
- 非接触IC卡读写模块MFRC530的工作原理及其应用
- 中心极限定理 - 正态分布
- (转)MSDN Library “已取消到该网页的导航”解决办法
- 爱测未来移动-iTest特色功能介绍
- Ubuntu 18.04 安装vsftpd
- java 读取csv文件乱码_java读取csv文件乱码怎么解决
- 纵观Tensorflow、Keras、Pytorch的发展史
- Office2019 Office2016 Office2010 Office365 系列各版本下载
- docker制作镜像
- 一文搞清楚Web和WWW是什么?
- php friend_Model/Friend.php · 跳跳虎1986/cwj - Gitee.com
- 解读即将施行的《网络安全审查办法》,开发者需要注意的
- 微信开发必备工具 php和java开发语言