首页 > 作文

PHP基于进程控制函数实现多线程

更新时间:2023-04-09 00:28:05 阅读: 评论:0

php有一组进程控制函数(编译时需要–enable-pcntl与posix扩展),使得php能在nginx系统中实现跟c一样的创建子进程、使用exec函数执行程序、处理信号等功能。

centos 6 下yum安装php的,默认是不安装pcntl的,因此需要单独编个人征信系统译安装,首先下载对应版本的php,解压后

cd php-version/ext/pcntl phpize ./configure &&am蜡烛pptp; make && make install cp /usr/lib/php/modules/pcntl.so /usr/lib64/php/modules/pcntl.so echo "extension=pcntl.so" >> /etc/php.ini /etc/init.d/httpd restart 

方便极了。

下面是示例代码:

<?php header('content-type:text/html;chart=utf-8' );  // 必须加载扩展 if (!function_exists("pcntl_fork")) {   die("pcntl extention is点钞手法 must !"); } //总进程的数量 $totals = 3; // 执行的脚本数量 $cmdarr = array(); // 执行的脚本数量的数组 for ($i = 0; $i < $totals; $i++) {   $cmdarr[] = array("path" => __dir__ . "/run.php", 'pid' =>$i ,'total' =>$totals); }  /* 展开:$cmdarr array (   [0] => array     (       [path] => /var/www/html/company/pcntl/run.php       [pid] => 0       [total] => 3     )    [1] => array     (       [path] => /var送杜少府之任蜀州翻译/www/html/company/pcntl/run.php       [pid] => 1       [total] => 3     )    [2] => array     (       [path] => /var/www/html/company/pcntl/run.php       [pid] => 2       [total] => 3     )  ) */  pcntl_signal(sigchld, sig_ign); //如果父进程不关心子进程什么时候结束,子进程结束后,内核会回收。 foreach ($cmdarr as  $cmd) {   $pid = pcntl_fork();  //创建子进程   //父进程和子进程都会执行下面代码   if ($pid == -1) {     //错误处理:创建子进程失败时返回-1.     die('could not fork');   } el if ($pid) {     //父进程会得到子进程号,所以这里是父进程执行的逻辑     //如果不需要阻塞进程,而又想得到子进程的退出状态,则可以注释掉pcntl_wait($status)语句,或写成:     pcntl_wait($status,wnohang); //等待子进程中断,防止子进程成为僵尸进程。   } el {     //子进程得到的$pid为0, 所以这里是子进程执行的逻辑。     $path  = $cmd["path"];     $pid = $cmd['pid'] ;     $total = $cmd['total'] ;     echo exec("/usr/bin/php {$path} {$pid} {$total}")."\n";     exi求值域t(0) ;   } } ?> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-09 00:28:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b4c0ccea2cbefe6a9265250b17b9c293.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP基于进程控制函数实现多线程.doc

本文 PDF 下载地址:PHP基于进程控制函数实现多线程.pdf

标签:进程   数量   脚本   函数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图