Linux下实现PHP多进程的方法分享
2018-10-12 14:00
761 查看
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多进程的简单测试代码:
函数参考可见: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");
?>
您可能感兴趣的文章:
相关文章推荐
- Linux下实现PHP多进程的方法分享
- smarty实现PHP静态化的两种方法分享
- PHP实现异步调用方法研究与分享
- 分享php中四种webservice实现的简单架构方法及实例
- php实现页面跳转的几种方法(实例分享)
- php实现快速排序的三种方法分享
- PHP实现异步调用方法研究与分享
- PHP 在linux环境下实现多进程,如何子类不产生defunct
- kphp框架中实现自定义session会话处理方法的php和msyql代码分享
- 分享php中四种webservice实现的简单架构方法及实例(转)
- php分享十一:PHP实现异步调用方法研究
- 分享php中四种webservice实现的简单架构方法及实例
- 分享php中四种webservice实现的简单架构方法及实例[转载]
- 分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法
- linux计划任务运行php文件的方法分享
- 支持windows与linux的php计划任务的实现方法
- PHP中集成PayPal标准支付的实现方法分享
- PHP中的session永不过期的解决思路及实现方法分享
- 分享php中四种webservice实现的简单架构方法及实例
- 分享php中四种webservice实现的简单架构方法及实例