sync:将所有修改过的快缓存区排入写队列,然后返回,并不等待实际写磁盘操作结束;
fsync:只对有文件描述符制定的单一文件起作用,并且等待些磁盘操作结束,然后返回;
fdatasync:类似fsync,但它只影响文件的数据部分。fsync还会同步更新文件的属性;
fflush:标准I/O函数(如:fread,fwrite)会在内存建立缓冲,该函数刷新内存缓冲,将内容写入内核缓冲,要想将其写入磁盘,还需要调用fsync。(先调用fflush后调用fsync,否则不起作用)。
http://www.jb51.net/article/101062.htm
本文详细介绍了几种文件同步方法,包括sync、fsync、fdatasync和fflush等。这些方法在操作系统中用于确保数据从内存缓冲区正确写入磁盘。sync会将所有修改过的快缓存区排入写队列但不等待写操作完成;fsync针对指定文件描述符进行同步并等待写操作结束;fdatasync与fsync类似,但仅同步文件数据部分;fflush用于刷新标准I/O缓冲区到内核缓冲区。
781

被折叠的 条评论
为什么被折叠?



