在Linux上运行的进程将一些数据写入文件系统上的文件,然后调用close()。紧接着,另一个进程调用open()并从文件中读取。
第二个进程是否始终100%保证能够看到更新的文件? 使用网络文件系统时会发生什么,并且这两个进程在同一主机上运行? 当两个进程在不同的主机上时会发生什么?
答案 0 :(得分:0)
close()不保证数据写入磁盘,你必须使用fsync()。有关类似问题,请参阅Does Linux guarantee the contents of a file is flushed to disc after close()?。