Linux是否保证在close()之后将文件内容刷新到磁盘上?
使用close()
或fclose()
(例如)关闭文件时,Linux是否保证将文件写回到(持久)光盘上?
我的意思是,如果close()
返回0,然后立即断电,是否可以保证先前写入的数据持久存在,即持久性?
该fsync()
系统调用确实提供了这种保证。关闭文件是否也足够?
我目前找不到任何能以某种方式要求任何权利的东西。
问题2:
如果close()
隐式地做了一个fsync()
,是否有办法告诉它不这样做?
回答:
来自“ man 2 close
”:
成功关闭并不能保证数据已成功保存到磁盘,因为内核延迟写入操作。
手册页指出,如果要确保数据位于磁盘上,则必须自己使用fsync()。
以上是 Linux是否保证在close()之后将文件内容刷新到磁盘上? 的全部内容, 来源链接: utcz.com/qa/430501.html