我有,例如,打印三行,交流程序開的兩個秒,那就是:重定向標準輸出到FIFO立即
printf("Wait 2 seconds...\n");
sleep(2);
printf("Two more\n");
sleep(2);
printf("Quitting in 2 seconds...\n");
sleep(2);
我執行該程序,並將其重定向到一個管:
./printer > myPipe
在另一終端
cat < myPipe
第二端子打印一次全部6秒後!我希望它立即打印可用的行。我該怎麼做?
Obs:我無法更改源代碼。這實際上是一個棋盤遊戲算法的輸出,我必須馬上得到它,以便我可以將它插入到另一個算法,獲得答案並插入第一個...
使用'尾巴-f myPipe'而不是'cat
2013-03-10 08:49:17
請參閱http://unix.stackexchange.com/questions/25372/turn-off-buffering-in -管。 – chepner 2013-03-10 13:43:23