PHP实现多进程并行操作的详解(可做守护进程)
2015-01-24信息快讯网
本篇文章是对PHP实现多进程并行操作进行了详细的分析介绍,需要的朋友参考下
如下所示:
/**
* 入口函数
* 将此文件保存为 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接收shell返回的结果中文乱码问题
php弹出对话框实现重定向代码
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
简单的php缓存类分享 php缓存机制
PHP输出当前进程所有变量/常量/模块/函数/类的示例
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
解决FastCGI 进程超过了配置的活动超时时限的问题
深入解析PHP中的(伪)多线程与多进程
解析PHP实现多进程并行执行脚本
解析php中static,const与define的使用区别
解析php中const与define的应用区别
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
解析php中memcache的应用
PHP实现的封装验证码类详解
PHP CLI模式下的多进程应用分析
深入php-fpm的两种进程管理模式详解
php的POSIX 函数以及进程测试的深入分析
PHP程序级守护进程的实现与优化的使用概述
Linux下实现PHP多进程的方法分享