0
我這裏有一個reactPHP循環有兩個計時器事件:reactPHP過程開始切斷定時器
$loop = \React\EventLoop\Factory::create();
$process = new \React\ChildProcess\Process("php wait5seconds.php");
$process->on('exit', function($exitCode, $termSignal) {
echo "Process Finished".PHP_EOL;
});
$loop->addTimer(2, function($timer) {
echo "TWO".PHP_EOL;
});
$loop->addTimer(1, function($timer) use ($process) {
echo "ONE".PHP_EOL;
$process->start($timer->getLoop());
});
$loop->run();
沒有兒童過程中的定時器正常工作,我得到了放:
ONE
TWO
但當我在第一個定時器中啓動一個進程時,第二個定時器將被阻塞,直到進程結束。我得到的輸出:
ONE
Process Finished
TWO
不應該是異步?過程是睡眠(5)所以我期望:
ONE
TWO
Process Finished
我錯過了什麼?
你在linux上嗎?我在windows –
是的,你可以在Windows上嘗試'timeout 5'。 – kelunik