linux:写入文件的数据是否保证对其他进程可见?

时间:2016-08-22 02:37:28

标签: linux file linux-kernel

如果我使用write(2)从Linux上的一个进程写入文件,然后在另一个进程中使用open(2)read(2),我保证会看到我在没有调用的情况下编写的数据到fsync(2)close(2)

(请忽略文件名被取消链接或覆盖的可能性,或系统重新启动或另一个进程写入数据的可能性。并假设我在写入和读取之间正确建立了边缘。)

据我所知,数据不保证会保留在磁盘上,但保证第二个进程可见吗?

1 个答案:

答案 0 :(得分:6)

posix spec for write清楚地说明了这一点:

  

如果在数据的write()之后可以证明(通过任何方式)文件数据的read(),它必须反映write(),即使调用是由不同的进程完成的。