看板 Linux 關於我們 聯絡資訊
我寫了一個小c shell script,內容如下: ./test > test.log 類似這樣的指令,">" 似乎都是累積了一定份量的內容後才會丟到之後的log裡, 請問有沒有辦法讓它可以有新訊息就直接丟到log裡呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.43.89 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1399933364.A.848.html
CP64:stdbuf -i0 -o0 -e0 ./test 試試? 05/13 06:53
bitlife:需要做log的程式,最好用自己開log檔的方式而不要用輸出轉 05/13 07:30
bitlife:向,由程式自行控制何時flush output. 若一定要用 > ,那就 05/13 07:32
bitlife:是由程式自行flush stdout,反正都是由程式下手就對了 05/13 07:32
Debian:定時去做之類的?寫在cron裏面是否可行? 05/13 09:28
bitlife:和定時與否無關,主因是OS和c library都有輸出入緩衝,就像 05/13 10:03
bitlife:原po說的要積滿才會實際寫入(cache或HD),主動呼叫flush可 05/13 10:04
bitlife:以強迫實際寫入(cache或HD) 05/13 10:04