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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
PHP中SESSION使用中的一点经验总结
Mar 30 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
php加速器eAccelerator的配置参数、API详解
May 05 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
日常整理PHP中简单的图形处理(经典)
Oct 26 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
Yii2框架自定义类统一处理url操作示例
May 25 PHP
php集成开发环境详解
Sep 24 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
PHP面向对象编程快速入门
2006/12/14 PHP
php获取mysql版本的几种方法小结
2008/03/25 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
Angular刷新当前页面的实现方法
2018/11/21 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
Python编程中的反模式实例分析
2014/12/08 Python
python文件操作相关知识点总结整理
2016/02/22 Python
如何在Python中编写并发程序
2016/02/27 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
教你学会使用Python正则表达式
2017/09/07 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
python 自动批量打开网页的示例
2019/02/21 Python
Python2与Python3的区别实例分析
2019/04/11 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
python解析xml简单示例
2019/06/21 Python
python同步两个文件夹下的内容
2019/08/29 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
J2EE系统只能是基于web
2015/09/08 面试题
培训演讲稿范文
2014/01/12 职场文书
机关财务管理制度
2014/01/17 职场文书
家访教师心得体会
2016/01/23 职场文书
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android