[問題] 如何使用>,即時輸入檔案?

作者: yeahhuman (人)   2014-05-13 06:22:41
我寫了一個小c shell script,內容如下:
./test > test.log
類似這樣的指令,">" 似乎都是累積了一定份量的內容後才會丟到之後的log裡,
請問有沒有辦法讓它可以有新訊息就直接丟到log裡呢?
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2014-05-13 06:53:00
stdbuf -i0 -o0 -e0 ./test 試試?
作者: bitlife (BIT一生)   2014-05-13 07:30:00
需要做log的程式,最好用自己開log檔的方式而不要用輸出轉向,由程式自行控制何時flush output. 若一定要用 > ,那就是由程式自行flush stdout,反正都是由程式下手就對了
作者: Debian (Debian)   2014-05-13 09:28:00
定時去做之類的?寫在cron裏面是否可行?
作者: bitlife (BIT一生)   2014-05-13 10:03:00
和定時與否無關,主因是OS和c library都有輸出入緩衝,就像原po說的要積滿才會實際寫入(cache或HD),主動呼叫flush可以強迫實際寫入(cache或HD)

Links booklink

Contact Us: admin [ a t ] ucptt.com