前段时间,需要修复线上数据,于是写了类似这样一个程序:
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了。 原来, 在刷磁盘呢。