考虑这个伪代码和一个 ext4 文件系统:
f = open("/tmp/new_file", "w")
write(f, "Test")
close(f)
在另一个进程中,我尝试在之后立即打开/tmp_newfile
:
问题
- 其他进程可以打开文件吗?
- 其他进程看到什么内容?是
测试
吗?
期望
我希望 (1) 为真(元数据可能在进程之间同步)但 (2) 为假(数据可能被缓冲)
更多问题
- 如何确保我的文件更改对其他进程可见?
flush
似乎可以工作,但它对性能不利,因为它会强制写入磁盘。是否有类似soft-flush
的东西可以使更改对其他进程可见,而无需将其刷新到磁盘?
最佳答案
Is it guaranteed, that the other process can see the file?
不,不能保证。
第三个进程可以删除该文件,即使您打开它也是如此。
关于linux - 创建的文件何时对 ext4 中的其他进程可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50510907/