关于写文件的问题
关于linux系统调用write()
调用一次write()完毕,是不是已经写到磁盘上了?
是不是调用一次write(),就是一次写请求,不管写多少个字符进去,调用完都已经通过缓冲区写到磁盘上了?
那么fsync()这个函数是不是指将缓冲区的写到磁盘上,如果是,write完再fsync是不是多此一举?
我想实现的是可以先创建一个文件,然后写一些东西到该文件的缓冲区,再调用fsync()写入磁盘,请问如何实现?
问题点数:20、回复次数:3Top
1 楼fierygnu(va_list)回复于 2006-03-02 12:59:43 得分 20
write不一定会直接写盘。fsync是强制。Top
2 楼password636(亮)回复于 2006-03-02 13:04:20 得分 0
如何能控制write()不写盘?Top
3 楼tonyMCM(南京~上海)回复于 2006-03-02 14:17:17 得分 0
不写盘 ?那么就一直保存在缓存上?
为什么呢?可否解释一下?Top




