php popen 并发,popen如何实现多进程并发执行,循环里的pclose会等待进程完毕再进行下一次循环...

1.PHP popen如何实现多进程并发执行,循环里的pclose会等待进程完毕再进行下一次循环

2.假设有17个进程要开启,如何实现每次启动5个进程,并且每完成一个进程就关闭一个进程,同时开启下一个进程,也就是说最多只有5个进程同时执行

//启动2个进程

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

$command = "$phpPath $destPHPFile >> $logFile$i";

echo "进程开启时间".date('Y-m-d H:i:s')."\n";

$resource = popen($command,'r');

if(is_resource($resource)){

$success++;

pclose($resource);//下一次循环会等待上一个进程执行完毕,pclose才会释放资源

echo date('Y-m-d H:i:s')." 进程:".$i."启动完毕,执行完毕并关闭,开启下一个进程\n";

}else{

$failure++;

}

}

这样的做法相当于每次启动一个进程,循环执行,相当于单进程处理任务,如何做到多进程

回复内容:

1.PHP popen如何实现多进程并发执行,循环里的pclose会等待进程完毕再进行下一次循环

2.假设有17个进程要开启,如何实现每次启动5个进程,并且每完成一个进程就关闭一个进程,同时开启下一个进程,也就是说最多只有5个进程同时执行

//启动2个进程

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

$command = "$phpPath $destPHPFile >> $logFile$i";

echo "进程开启时间".date('Y-m-d H:i:s')."\n";

$resource = popen($command,'r');

if(is_resource($resource)){

$success++;

pclose($resource);//下一次循环会等待上一个进程执行完毕,pclose才会释放资源

echo date('Y-m-d H:i:s')." 进程:".$i."启动完毕,执行完毕并关闭,开启下一个进程\n";

}else{

$failure++;

}

}

这样的做法相当于每次启动一个进程,循环执行,相当于单进程处理任务,如何做到多进程

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值