PHP创建单例后台进程的方法示例


Posted in PHP onMay 23, 2017

本文实例讲述了PHP创建单例后台进程的方法。分享给大家供大家参考,具体如下:

可以通过如下语句启动一个PHP后台进程:

$command = " php script.php ";
$pid = exec("nohup $command > /dev/null 2>&1 & echo $!");

nohup表示这个进程独立于创建的用户,可以以守护方式运行。

如果需要这个后台进程是单例运行的,那么可以通过下面的方法来记录/判断进程是否已运行

//query the database for process id
$query = "SELECT pid FROM `daemons` WHERE `pid` = '2013' LIMIT 1";
$result = mysql_query($query);
$pid = mysql_result($result, 0, 'pid');
//check if the process is running
exec("ps $pid", $pState);
if((count($pState) >= 2) && !empty($pid))
{
echo "RUNNING";
}
else
{
echo "INACTIVE";
}

也可以把pid写入文件,但如果在一个分布式任务环境中,则放在数据库中要更好

停止一个后台进程:

//check if the process from the database is running
exec("ps $pid", $pState);
if((count($pState) >= 2))
{
//if the process is running, kill it
exec("kill $pid");
//update database row with an empty process id
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第八节--访问方式
Nov 16 PHP
php实现的在线人员函数库
Apr 09 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 PHP
php实现数组重复数字统计实例
Sep 30 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
May 23 #PHP
yii 2.0中表单小部件的使用方法示例
May 23 #PHP
php实现留言板功能(会话控制)
May 23 #PHP
php实现文件预览功能
May 23 #PHP
PHP写的简单数字验证码实例
May 23 #PHP
php实现评论回复删除功能
May 23 #PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 #PHP
You might like
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
关于PHP5 Session生命周期介绍
2010/03/02 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP云打印类完整示例
2016/10/15 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
表单元素事件 (Form Element Events)
2009/07/17 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
用C++封装MySQL的API的教程
2015/05/06 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Python将string转换到float的实例方法
2019/07/29 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
怎么样写好简历中的自我评价
2013/10/25 职场文书
理工科学生的自我评价
2013/12/15 职场文书
高中生家长寄语大全
2014/04/03 职场文书
创先争优活动心得体会
2014/09/04 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫