我想运行并行进程来同时处理至少 4 个用户。
ob_end_flush();
for($i = 0; $i < 4; $i++)
{
$pid=pcntl_fork();
if ($pid == -1) {
echo("Could not create a new child.");
exit;
} else if ($pid == 0) {
//This will get excuted only in the child process
echo 'parent1';
sleep(5);
echo 'parent2';
exit;
}
}
输出是这样的:
> php testscript.php
parent1
parent1
parent1
parent1
> parent2
parent2
parent2
parent2
当前发生的情况是在显示parent1
4 次后,对脚本的控制丢失,并启动了一个新的空命令行。再等 5 秒后,剩余的输出来了。
我怎样才能避免这种情况发生。我希望能够在我想要的时候打破脚本。
编辑
如果我通过终端发送信号,比如说按 CTRL+C,脚本不会停止,需要一种方法来通知脚本在那一刻停止。