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 相关文章推荐
url decode problem 解决方法
Dec 26 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
PHP实现事件机制实例分析
Jun 26 PHP
在Laravel中使用DataTables插件的方法
May 29 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 PHP
关于PHP求解三数之和问题详析
Nov 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
smarty内置函数foreach用法实例
2015/01/22 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
学习YUI.Ext基础第一天
2007/03/10 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
axios简单实现小程序延时loading指示
2018/07/30 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
对pandas中时间窗函数rolling的使用详解
2018/11/28 Python
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
服装促销活动方案
2014/02/23 职场文书
1亿有多大教学反思
2014/05/01 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
python 常用的异步框架汇总整理
2021/06/18 Python