您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP实现多进程并行操作(可做守护进程)

2024/6/12 19:06:50发布26次查看
php简单实现多进程并行处理,子进程负责处理事物,父进程可控制子进程数量,用pcntl扩展实现(备注:在windows下此效果无法实现)
/** * 入口函数 * 将此文件保存为 processopera.php * 在terminal中运行 /usr/local/php/bin/php processopera.php & * 查看进程 ps aux|grep php */processopera(runcode, array(), 8);/** * run code */function runcode($opt = array()) {   //需要在守护进程中运行的代码}/** * $func为子进程执行具体事物的函数名称 * $opt为$func的参数 数组形式 * $pnum 为fork的子进程数量 */function processopera($func, $opts = array(), $pnum = 1) {    while(true) {        $pid = pcntl_fork();        if($pid == -1) {            exit(pid fork error);        }           if($pid) {            static $execute = 0;            $execute++;            if($execute >= $pnum) {                pcntl_wait($status);                $execute--;            }           } else {            while(true) {                //somecode                $func($opts);                sleep(1);            }               exit(0);        }       }   }
复制代码
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product