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 相关文章推荐
一个目录遍历函数
Oct 09 PHP
多重?l件?合查?(一)
Oct 09 PHP
五个PHP程序员工具
May 26 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 PHP
php实现微信支付之现金红包
May 30 PHP
php对象工厂类完整示例
Aug 09 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页面间参数传递的四种方法详解
2013/06/09 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
javascript中的面向对象
2017/03/30 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
Python ldap实现登录实例代码
2016/09/30 Python
python读取Excel实例详解
2018/08/17 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
面试求职的个人自我评价
2013/11/16 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
单位委托函范文
2015/01/29 职场文书
2019年教师入党申请书
2019/06/27 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
移除Selenium中window.navigator.webdriver值
2022/06/10 Python
js前端图片加载异常兜底方案
2022/06/21 Javascript