[問題] 寫入檔案

作者: noonee (我和烤肉間只差一撮孜然)   2015-10-27 12:51:45
我有一個用fortran 寫的計算 通常一跑就要好幾天
程式裏面有要求跑到一個段落就要把進度寫進輸出檔
但是實際上執行卻發現 程式似乎不會每執行到相關地方就輸出
而是在不斷堆積在記憶體裏面 等累積到一定的量才真的寫入檔案
當然程式最後跑完還是會全部寫進檔案
但是想問有沒有方法 可以讓他正在跑的時候 輸出都即時寫入檔案
或是減少在記憶體累積的量?
謝謝
作者: hiyiyi   2015-10-27 13:40:00
寫完後關閉檔案,欲寫入資料再用append參數開啟檔案
作者: rex0707 (我就是我)   2015-10-27 16:41:00
我的程式就會到一定的進度就輸出檔案欸 你是不是寫錯了
作者: noonee (我和烤肉間只差一撮孜然)   2015-10-28 05:22:00
謝謝回應 我先測試看看另外 我想我內文講錯了一部份這個狀況最嚴重的 是程式本身會要求把東西print out到螢幕 而在實際執行時寫 $./exe > output_record如果在執行中去看 output_record 就會發現並非總是秀出實際的進度
作者: blc (Anemos)   2015-10-28 17:05:00
https://goo.gl/7BUaI5 ,看stdbuf的用法。
作者: noonee (我和烤肉間只差一撮孜然)   2015-10-29 02:26:00
非常感謝 我最後用了unbuffer 的確馬上就寫入紀錄檔真是非常感謝 這問題麻煩很久了

Links booklink

Contact Us: admin [ a t ] ucptt.com