BDFLUSH - Linux手册页
时间:2019-08-20 17:58:35 来源:igfitidea点击:
Linux程序员手册 第2部分
更新日期: 2016-10-08
名称
bdflush-启动,刷新或调整buffer-dirty-flush守护程序
语法
#include <sys/kdaemon.h> int bdflush(int func, long *address); int bdflush(int func, long data);
说明
注意:从Linux 2.6开始,不赞成使用此系统调用,并且不执行任何操作。在将来的内核版本中,它可能会完全消失。如今,bdflush()执行的任务由内核pdflush线程处理。
bdflush()启动,刷新或调整buffer-dirty-flush守护程序。只有特权进程(具有CAP_SYS_ADMIN功能的进程)才能调用bdflush()。
如果func为负数或0,并且没有启动守护程序,则bdflush()输入守护程序代码,并且永不返回。
如果func为1,则一些脏缓冲区将写入磁盘。
如果func为2或更大并且为偶数(低位为0),则address是长字的地址,编号为(func-2)/ 2的调整参数将通过该地址返回给调用方。
如果func为3或更大且为奇数(低位为1),则数据为长字,并且内核将编号为(func-3)/ 2的调整参数设置为该值。
参数集,它们的值及其有效范围在Linux内核源文件fs / buffer.c中定义。
返回值
如果func为负数或0,并且守护程序成功启动,则bdflush()永不返回。否则,成功时返回值为0,失败时返回-1,并设置errno表示错误。
错误说明
- EBUSY
- 在另一个进程已经进入后,试图输入守护程序代码。
- EFAULT
- 您可访问的地址空间之外的地址点。
- EINVAL
- 试图读取或写入无效的参数编号,或向参数写入无效的值。
- EPERM
- 呼叫者不具有CAP_SYS_ADMIN功能。
版本
从2.23版开始,glibc不再支持此过时的系统调用。
遵循规范
bdflush()是特定于Linux的,不应在旨在可移植的程序中使用。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。