1
這裏考慮的代碼片段:當文件io打開的流被阻塞時會發生什麼?
$handle = popen("some command that generates an infinite stream of output to stdout", "r");
while ($line = fgets($handle)) {
echo $line;
sleep(3);
}
我的問題是:什麼是睡眠(3),並通過popen方法的命令()仍然噴涌輸出過程中實際發生的?這是緩衝到PHP的內存?
輸出是否有機會被破壞?
數據是否有機會被丟棄? – Tim 2012-08-02 23:35:06
只有當程序禁止輸出阻塞並且不會重試。 – 2012-08-02 23:36:13
我們如何知道popen的程序是否會被阻塞?我問,因爲我想popen一個網絡流量分析器,所以如果它被阻止,它會錯過數據 – Tim 2012-08-02 23:37:02