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

 2025-01-16  阅读 338  评论 8  点赞 300

摘要:php多进程:使用php的process control functions(pcntl/线程控制函数) 函数参考可见:http://www.php.net/manual/zh/ref.pcntl.php 只能用在unix like os,windows不可用。 编译php的时候,需要加上–enable-pcntl,且推荐仅仅在cli模式运行,不要在web服务器环境运行。 以下
php多进程:使用php的process control functions(pcntl/线程控制函数)
函数参考可见:http://www.php.net/manual/zh/ref.pcntl.php
只能用在unix like os,windows不可用。
编译php的时候,需要加上–enable-pcntl,且推荐仅仅在cli模式运行,不要在web服务器环境运行。

以下为实现php多进程的简单测试代码:
复制代码 代码如下:

<?php
declare(ticks=1);
$bwaitflag = false; /// 是否等待进程结束
$intnum = 10; /// 进程总数
$pids = array(); /// 进程pid数组

echo ("start\n");

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 \n";
exit();
// 子进程进程代码段_end
}

}
if ($bwaitflag)
{
for($i = 0; $i < $intnum; $i++) {
pcntl_waitpid($pids[$i], $status, wuntraced);
echo "wait $i -> " . time() . "\n";
}
}
echo ("end\n");
?>

标签:phpphp教程

评论列表:

  •   xixi2
     发布于 2天前回复该评论
  • 写的很不错,学到了!
显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0276秒, 内存占用1.94 MB, 访问数据库31次

冀ICP备19034377号