在linux中写入后崩溃

时间:2012-05-22 10:57:17

标签: linux

如果我使用write()将一些数据写入磁盘上的文件,会发生什么。但是我的应用程序在冲洗之前崩溃了。如果没有系统故障,是否可以保证我的数据最终会被刷新到磁盘?

1 个答案:

答案 0 :(得分:3)

如果您使用的是write(而不是fwritestd::ostream::write), 然后就没有进行缓冲。如果没有系统故障, 然后,数据将迟早(并且通常很快)成为 写入磁盘。

如果您真的担心数据完整性,您可以或在标志中 打开文件时,O_DSYNCO_SYNC到标志。如果你这样做 这样,您可以保证数据物理写入磁盘 在从write返回之前。