1.fsync
用于将文件的内容数据和元数据写入磁盘,只有在对磁盘设备的写入操作完成之后,函数才会返回。元数据并不是文件内容本身的数据,而是一些用于记录文件属性相关的数据信息,譬如文件大小、时间戳、权限等等信息,这里统称为文件的元数据,这些信息也是存储在磁盘设备中的。
1)头文件
#include <unistd.h>
2)函数原型
int fsync(int fd);
3)参数
fd:表示要操作文件的文件描述符。
4)返回值
若函数调用成功将返回0,失败返回-1并设置errno以指示错误原因。
2.fdatasync
仅将文件的内容数据写入磁盘,并不包括文件的元数据, 只有在对磁盘设备的写入操作完成之后,函数才会返回。
1)头文件
#include <unistd.h>
2)函数原型
int fdatasync(int fd);
3)参数
fd:表示要操作文件的文件描述符。
4)返回值
若函数调用成功将返回0,失败返回-1并设置errno以指示错误原因。
3.sync
会将所有内核缓冲区中的文件内容数据和元数据全部更新到磁盘设备中,不是对某一个指定的文件进行数据更新,而是刷新所有文件I/O内核缓冲区,调用sync函数仅在所有数据已经写入到磁盘设备之后才会返回。
1)头文件
#include <unistd.h>
2)函数原型
void sync(void);
3)参数
无。
4)返回值
无。
							阅读全文
							
						
					
								
								
								
228