我想運行並行進程來同時處理至少4個用戶。PHP PCNTL - 維護終端中的控制
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發送的信號經終端說,腳本不停止,需要一種方式來通知腳本停止在那一瞬間。
如何是你的「想」的腦電波傳送到PHP腳本?我不知道一個圖書館是否存在腦電波。你能否詳細說明,看起來像每個人都應該知道的非常酷的擴展。 – hakre
修改了這個問題。要求是讓php腳本收聽終端發送的信號後發送睡眠。 – Rishabh
像[如何禁用ctrl-z,ctrl-c從打破php腳本](http://stackoverflow.com/questions/2774331/how-to-disable-ctrl-z-ctrl-c-from -break-out-a-php-script)? – hakre