[問題] 寫入檔案

看板Fortran作者 (feynman511)時間9年前 (2015/10/27 12:51), 編輯推噓2(209)
留言11則, 4人參與, 最新討論串1/1
我有一個用fortran 寫的計算 通常一跑就要好幾天 程式裏面有要求跑到一個段落就要把進度寫進輸出檔 但是實際上執行卻發現 程式似乎不會每執行到相關地方就輸出 而是在不斷堆積在記憶體裏面 等累積到一定的量才真的寫入檔案 當然程式最後跑完還是會全部寫進檔案 但是想問有沒有方法 可以讓他正在跑的時候 輸出都即時寫入檔案 或是減少在記憶體累積的量? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 76.247.22.141 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1445921508.A.F99.html

10/27 13:40, , 1F
寫完後關閉檔案,欲寫入資料再用append參數開啟檔案
10/27 13:40, 1F

10/27 16:41, , 2F
我的程式就會到一定的進度就輸出檔案欸 你是不是寫錯了
10/27 16:41, 2F

10/28 05:22, , 3F
謝謝回應 我先測試看看
10/28 05:22, 3F

10/28 05:23, , 4F
另外 我想我內文講錯了一部份
10/28 05:23, 4F

10/28 05:24, , 5F
這個狀況最嚴重的 是程式本身會要求把東西print out到
10/28 05:24, 5F

10/28 05:25, , 6F
螢幕 而在實際執行時寫 $./exe > output_record
10/28 05:25, 6F

10/28 05:25, , 7F
如果在執行中去看 output_record 就會發現並非總是秀出
10/28 05:25, 7F

10/28 05:26, , 8F
實際的進度
10/28 05:26, 8F

10/28 17:05, , 9F
https://goo.gl/7BUaI5 ,看stdbuf的用法。
10/28 17:05, 9F

10/29 02:26, , 10F
非常感謝 我最後用了unbuffer 的確馬上就寫入紀錄檔
10/29 02:26, 10F

10/29 02:26, , 11F
真是非常感謝 這問題麻煩很久了
10/29 02:26, 11F
文章代碼(AID): #1MBmBa-P (Fortran)
文章代碼(AID): #1MBmBa-P (Fortran)