Linux下实现PHP多进程的方法分享

Posted 我爱读活法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下实现PHP多进程的方法分享相关的知识,希望对你有一定的参考价值。

编译php的时候,需要加上–enable-pcntl,且推荐仅仅在CLI模式运行,不要在WEB服务器环境运行。

以下为实现PHP多进程的简单测试代码:

代码如下:
<?php
declare(ticks=1);
$bWaitFlag = FALSE; /// 是否等待进程结束
$intNum = 10; /// 进程总数
$pids = array(); /// 进程PID数组

echo ("Start
");

for($i = 0; $i < $intNum; $i++) {

$pids[$i] = pcntl_fork();/// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息

if(!$pids[$i]) {
// 子进程进程代码段_Start
$str="";
sleep(5+$i);
for ($j=0;$j<$i;$j++) {$str.="*";}
echo "$i -> " . time() . " $str 
";
exit();
// 子进程进程代码段_End
}

}
if ($bWaitFlag)
{
for($i = 0; $i < $intNum; $i++) {
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo "wait $i -> " . time() . "
";
}
}
echo ("End
");
?>

 

以上是关于Linux下实现PHP多进程的方法分享的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

php多进程结合Linux利器split命令实现把大文件分批高效处理

麻烦解释一下linux下进程和线程有啥区别和联系,linux下多线程和多进程通信的实现方法,请通俗解释

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

PHP 利用 curl 实现多进程下载文件类

php如何实现多继承?