PHP实现多进程并行操作的详解(可做守护进程)


Posted in PHP onJune 18, 2013

如下所示:

/**
 * 入口函数
 * 将此文件保存为 ProcessOpera.php
 * 在terminal中运行 /usr/local/php/bin/php ProcessOpera.php &
 * 查看进程 ps aux|grep php
 */
ProcessOpera("runCode", array(), 8);/**
 * run Code
 */
function runCode($opt = array()) {
   //需要在守护进程中运行的代码
}
/**
 * $func为子进程执行具体事物的函数名称
 * $opt为$func的参数 数组形式
 * $pNum 为fork的子进程数量
 */
function ProcessOpera($func, $opts = array(), $pNum = 1) {
while(true) {
$pid = pcntl_fork();
if($pid == -1) {
exit("pid fork error");
}  
if($pid) {
static $execute = 0;
$execute++;
if($execute >= $pNum) {
pcntl_wait($status);
$execute--;
}  
} else {
while(true) {
//somecode
$func($opts);
sleep(1);
}  
exit(0);
}  
}  
}
PHP 相关文章推荐
mysql 全文搜索 技巧
Apr 27 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
thinkPHP查询方式小结
Jan 09 PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 PHP
解析php中static,const与define的使用区别
Jun 18 #PHP
解析htaccess伪静态的规则
Jun 18 #PHP
解析php中const与define的应用区别
Jun 18 #PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 #PHP
解析php中memcache的应用
Jun 18 #PHP
PHP实现的封装验证码类详解
Jun 18 #PHP
php empty()与isset()区别的详细介绍
Jun 17 #PHP
You might like
php购物网站支付paypal使用方法
2010/11/28 PHP
解析strtr函数的效率问题
2013/06/26 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
php实现算术验证码功能
2018/12/05 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
ES6关于Promise的用法详解
2018/05/07 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python操作CouchDB数据库简单示例
2015/03/10 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
python绘制圆柱体的方法
2018/07/02 Python
基于Python实现用户管理系统
2019/02/26 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
会计系毕业个人自荐信格式
2013/09/23 职场文书
活动总结报告怎么写
2014/07/03 职场文书
债务纠纷委托书
2014/08/30 职场文书
公司停电通知
2015/04/15 职场文书
签证工作证明模板
2015/06/15 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书