【发布时间】:2018-05-24 13:41:42
【问题描述】:
考虑这个伪代码和一个 ext4 文件系统:
f = open("/tmp/new_file", "w")
write(f, "Test")
close(f)
在另一个进程中,我尝试在之后立即打开/tmp_newfile:
问题
- 其他进程可以打开文件吗?
- 其他进程看到什么内容?是
Test吗?
期望
我希望 (1) 为真(元数据可能在进程之间同步)但 (2) 为假(数据可能被缓冲)
更多问题
- 如何确保我的文件更改对其他进程可见?
flush似乎有效,但它对性能不利,因为它强制写入磁盘。有没有像soft-flush这样的东西让其他进程可以看到更改而不将其刷新到磁盘?
【问题讨论】:
标签: linux concurrency filesystems consistency ext4