クラスのいくつかのメソッドを新しいスレッドで実行するpcntl
ために、拡張機能を使用しようとしています。私は小さなテストメソッドを書きました:PHP
CLI
private function startProcess($data)
{
$this->log('Start a child process');
$pid = pcntl_fork();
if($pid == -1)
$this->log('Could not fork');
elseif($pid)
pcntl_wait($status);
else {
$this->process($data);
sleep(10);
posix_kill(posix_setsid(), SIGTERM);
}
}
このメソッドは 10 回呼び出されます。$this->process($data);
コンソールにデータを出力するだけです。私が理解したように、終了後に10個のプロセスを開始し、データを出力する必要があります。しかし、代わりに、メッセージごとに 10 秒待つ必要があります。どこが間違っていますか?