• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-系统IO接口之刷新内核缓冲

8小时前
228
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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)返回值

无。

相关推荐