以下に示すように:
コードをコピーします コードは次のとおりです:
/**
* エントリ関数
* このファイルを ProcessOpera.php として保存します
* ターミナルで /usr/local/php/bin/php ProcessOpera.php &
を実行します*/
ProcessOpera("runCode", array(), 8);
/**
* コードを実行します
*/
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);
}
}
}
http://www.bkjia.com/PHPjc/327645.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/327645.html技術記事以下に示すように: 次のようにコードをコピーします: /** * エントリ関数 * このファイルを ProcessOpera.php として保存 * /usr/local/php/bin/php を実行 ProcessOpera.php nbsp;* ターミナルでプロセスを表示します。