首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

linux下利用fwrite文件写入过程中突然断电的处理解决办法

2012-03-15 
linux下利用fwrite文件写入过程中突然断电的处理在linux下利用fwrite对文件进行写入的过程中,突然断电。针

linux下利用fwrite文件写入过程中突然断电的处理
在linux下利用fwrite对文件进行写入的过程中,突然断电。针对  
这个时候,通常应该采取哪些措施,或者说如何针对这种情况,采取  
相应的应对措施呢。linux有无相应的应对方法。  
如果可以的话,由相关的文档,参考资料更好!  
谢谢各位!

[解决办法]
没有什么不可预料的反应

fwirte 是带缓存写 写的时候断电 当然缓存里面的东西就写不进去了

自己的程序可以处理啊

比如你自定义一个log文件,在写的时候顺便也写点日志到那个log文件

断电写的log和正常写的log种有不同把

所以你程序可以检查那个log

发现不正常情况的时候

要从新写某些数据
[解决办法]
up用ups的
[解决办法]
这属于文件系统的责任吧.
你可以把它设置成无缓冲.
或则每次写完后fflush(),
int fsync(int fd);
int fdatasync(int fd);
强制把数据写会磁盘.等,不过这是要付出效率等代价地.
[解决办法]
fflush虽然可以让fwrite刷缓冲,但硬盘自己还有一级缓冲呢,应用层程序是无法控制的。
所以,ups是正道。
另外,考虑断电,那硬盘烧毁呢?CPU烧毁呢?

热点排行