Linux是否保证在close()之后将文件内容刷新到磁盘上?

使用close()fclose()(例如)关闭文件时,Linux是否保证将文件写回到(持久)光盘上?

我的意思是,如果close()返回0,然后立即断电,是否可以保证先前写入的数据持久存在,即持久性?

fsync()系统调用确实提供了这种保证。关闭文件是否也足够?

我目前找不到任何能以某种方式要求任何权利的东西。


问题2:

如果close()隐式地做了一个fsync(),是否有办法告诉它不这样做?

回答:

来自“ man 2 close”:

成功关闭并不能保证数据已成功保存到磁盘,因为内核延迟写入操作。

手册页指出,如果要确保数据位于磁盘上,则必须自己使用fsync()。

以上是 Linux是否保证在close()之后将文件内容刷新到磁盘上? 的全部内容, 来源链接: utcz.com/qa/430501.html

回到顶部