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 相关文章推荐
十天学会php之第一天
Oct 09 PHP
如何利用php+mysql保存和输出文件
Oct 09 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
PHP连接操作access数据库实例
Mar 30 PHP
php实现比较两个字符串日期大小的方法
May 12 PHP
PHP使用CURL模拟登录的方法
Jul 08 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
php设计模式 Visitor 访问者模式
2011/06/28 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
php生成gif动画的方法
2015/11/05 PHP
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
python实现图片文件批量重命名
2020/03/23 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
python中selenium库的基本使用详解
2020/07/31 Python
pymongo insert_many 批量插入的实例
2020/12/05 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
四个太阳教学反思
2014/02/01 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
房产公证书范本
2014/04/10 职场文书
计划生育宣传标语
2014/06/21 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
Pytest中skip skipif跳过用例详解
2021/06/30 Python