在執行某些程式時,可以輸出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 裡。
卻要累積到 4096 bytes 才會寫入,這對於要依賴像是 log file 來處理的時候
會很困擾。
如果可以改程式的 code, 可以利用 fflush 來叫它每次都吐出來不要一直含著,
但如果無法改程式 code 的話,可以用 stdbuf 來叫它不要含住,趕快吐到 file 裡.
stdbuf -o0
這樣它每次發生就會每次存入,可以立即檢視log file.
stdbuf 在squeeze 才有, lenny 沒有, 但lenny 可以用squeeze 的沒問題.
stdbuf 包在 coreutils 裡。
沒有留言:
張貼留言