2010-08-31

不要一直含著,趕快吐出來!

在執行某些程式時,可以輸出message 到stdout, 可是當把它導向 file 儲存,
卻要累積到 4096 bytes 才會寫入,這對於要依賴像是 log file 來處理的時候
會很困擾。

如果可以改程式的 code, 可以利用 fflush 來叫它每次都吐出來不要一直含著,
但如果無法改程式 code 的話,可以用 stdbuf 來叫它不要含住,趕快吐到 file 裡.

stdbuf -o0 > /PATH/file

這樣它每次發生就會每次存入,可以立即檢視log file.

stdbuf 在squeeze 才有, lenny 沒有, 但lenny 可以用squeeze 的沒問題.
stdbuf 包在 coreutils 裡。

沒有留言: