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

看板Linux作者 (人)時間11年前 (2014/05/13 06:22), 編輯推噓0(008)
留言8則, 3人參與, 最新討論串1/1
我寫了一個小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

05/13 06:53, , 1F
stdbuf -i0 -o0 -e0 ./test 試試?
05/13 06:53, 1F

05/13 07:30, , 2F
需要做log的程式,最好用自己開log檔的方式而不要用輸出轉
05/13 07:30, 2F

05/13 07:32, , 3F
向,由程式自行控制何時flush output. 若一定要用 > ,那就
05/13 07:32, 3F

05/13 07:32, , 4F
是由程式自行flush stdout,反正都是由程式下手就對了
05/13 07:32, 4F

05/13 09:28, , 5F
定時去做之類的?寫在cron裏面是否可行?
05/13 09:28, 5F

05/13 10:03, , 6F
和定時與否無關,主因是OS和c library都有輸出入緩衝,就像
05/13 10:03, 6F

05/13 10:04, , 7F
原po說的要積滿才會實際寫入(cache或HD),主動呼叫flush可
05/13 10:04, 7F

05/13 10:04, , 8F
以強迫實際寫入(cache或HD)
05/13 10:04, 8F
文章代碼(AID): #1JSKcqX8 (Linux)