今天就跟大家聊聊有关PHP中怎么实现多进程并行执行php脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
直接看代码操作<?php//fork.php$cmds = ['/data/wwwroot/default/test1.php','/data/wwwroot/default/test2.php','/data/wwwroot/default/test3.php'];foreach($cmds as $cmd) {$pid = pcntl_fork();if ($pid == -1) { //进程创建失败 echo '创建子进程失败时返回-1';exit(-1);}else if($pid) { //父进程会得到子进程号,所以这里是父进程执行的逻辑 pcntl_wait($status,WNOHANG);}else{ //子进程处理逻辑 echo getmypid() , " \r\n";sleep(20);// 保持20秒,确保能被ps查到pcntl_exec('/usr/local/php/bin/php',$cmd);exit(0);}}
# php fork.php //使用php cls模式执行运行fork.php# ps aux | grep fork.php root 61097 0.0 0.7 367880 7776 pts/1 S 14:22 0:00 php fork.php root 61098 0.0 0.7 367880 7776 pts/1 S 14:22 0:00 php fork.php root 61099 0.0 0.7 367880 7776 pts/1 S 14:22 0:00 php fork.php root 61311 0.0 0.0 103268 872 pts/2 R+ 14:22 0:00 grep --color fork.php
看完上述内容,你们对PHP中怎么实现多进程并行执行php脚本有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。