<?php /** * 入口函数 * 将此文件保存为 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); } } }
PHP实现多进程并行操作,可做守护进程(转,备用)
Posted 一株草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现多进程并行操作,可做守护进程(转,备用)相关的知识,希望对你有一定的参考价值。
以上是关于PHP实现多进程并行操作,可做守护进程(转,备用)的主要内容,如果未能解决你的问题,请参考以下文章