前段時間,需要修復線上數據,於是寫了類似這樣一個程序:
func main(){
for i := 0; i < 10000000; i++ {
// fix users' data
log.Infof("fix details")
totalInfo += "xxx"
}
log.Infof("total info is %s", totalInfo) // 太長了
return
}
結果,在進程執行完畢後(用ps確認了),沒看到最後一行那個log. 非常納悶, 以爲是中途哪一步卡住了。
然後,半分鐘後, 文件中終於有最後那行log了。 原來, 在刷磁盤呢。