0
我有一個程序,有一個窗口,也輸出到標準輸出。我正在讀取程序輸出並將一行輸出寫入管道。這是在程序仍在運行時在後臺完成的。我發送一個命令到窗口並等待grep中的單行。然而,即使程序已經產生了這個文本尾巴也不會退出unitl,我停止了這個程序。從後臺進程的命名管道讀取
我想尾巴儘快返回這一行,所以我可以用「\ e」來終止程序到窗口。
bin/Prog | grep "TEXT" > /tmp/pipe2 &
xvkbd -window Window -text "2"
tail -n1 /tmp/pipe2 >> out.t
xvkbd -window Window -text "\e"
將一堆「stdbuf -i0 -o0 -e0」添加到我的腳本中並沒有幫助。這與你所說的一致嗎? – e2e8
我以前沒有遇到['stdbuf'](http://www.gnu.org/software/coreutils/manual/html_node/stdbuf-invocation.html)。我不確定我什至看到它是如何工作的;我不會期望初始化進程設置的緩衝模式會影響它執行的進程的緩衝。鑑於此,我不確定您所看到的行爲是否與此一致。我期望它是,但我坦率地不確定。 –