当前位置: 首页 > 后端技术 > PHP

PHP创建常量进程(pcntl学习笔记3)

时间:2023-03-30 00:19:52 PHP

最近在学习进程相关的知识,配合实际编码很有意思。这段时间工作不忙,有时间研究提高自己。我觉得这才是真正的工作。比起上家公司(郁闷的工作饱和度。。。)感觉幸福多了。接下来就是研究多线程了。看看能不能插入1000万条数据。闲话不说,进入正题,受网友启发,如何创建常量进程数?如果一个进程挂了,就创建一个新进程,如果进程太多,就杀几个。网友文章:16岁鸣人送影分身,分出5个分身。代码如下:0){返回$pid;}return0;}while(true){if(count($child)<$num){$pid=genarate($minLife,$maxLife);echo'孩子'.$pid.'出生'.PHP_EOL;如果($pid){$child[]=$pid;}}elseif(count($child)>$num){$pid=array_pop($child);posix_kill($pid,SIGINT);echo'孩子'.$pid.'杀死'.PHP_EOL;}foreach($childas$k=>$pid){$res=pcntl_waitpid($pid,$status,WNOHANG);如果($res==-1||$res>0){取消设置($孩子[$k]);}}}当$num=1,$maxLife=1,$minLife=1时,运行结果如下。进程一挂掉,就会创建一个新的进程,注册通过pcntl_signal捕获信号的回调方法应该就可以了。