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 相关文章推荐
3
Oct 09 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
第四章 php数学运算
Dec 30 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
基于PHP生成简单的验证码
Jun 01 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
php图形jpgraph操作实例分析
Feb 22 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图片上传类带图片显示
2006/11/25 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
Python使用py2exe打包程序介绍
2014/11/20 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python 异常处理总结
2016/10/18 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
HTML5中div、article、section的区别及使用介绍
2013/08/14 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
教师年终个人自我评价
2013/10/04 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
企业党建工作总结2015
2015/05/26 职场文书
信仰观后感
2015/06/03 职场文书