bdflush() - Unix, Linux系统调用
Tutorials Point


  Unix入门
  Unix Shell编程
  高级Unix
  Unix有用参考
  Unix有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考资料     讨论论坛     关于TP  

bdflush() - Unix, Linux系统调用


previous next AddThis Social Bookmark Button

广告

名称

bdflush - 启动、刷新或调整缓冲区脏数据刷新守护进程

概要

int bdflush(int func, long *address); int bdflush(int func, long data);

描述

bdflush() 启动、刷新或调整缓冲区脏数据刷新守护进程。只有特权进程(拥有CAP_SYS_ADMIN权限的进程)才能调用bdflush()。

如果func为负数或0,并且尚未启动守护进程,则bdflush() 将进入守护进程代码并永不返回。

如果func为1,则一些脏缓冲区将写入磁盘。

如果func为2或更大且为偶数(最低位为0),则address为长整型字的地址,并且将编号为(func-2)/2的调整参数返回给调用者。

如果func为3或更大且为奇数(最低位为1),则data为长整型字,并且内核将编号为(func-3)/2的调整参数设置为该值。

参数集、其值及其合法范围在内核源文件fs/buffer.c中定义。

返回值

如果func为负数或0并且守护进程成功启动,则bdflush()永不返回。否则,成功返回0,失败返回-1,并设置errno以指示错误。

错误

标签描述
EBUSY 在另一个进程已经进入之后尝试进入守护进程代码。
EFAULT address指向您可访问的地址空间之外。
EINVAL 尝试读取或写入无效的参数编号,或向参数写入无效值。
EPERM 调用者不具有CAP_SYS_ADMIN权限。

符合标准

bdflush()是Linux特有的,不应在旨在可移植的程序中使用。

参见



previous next Printer Friendly

广告


  

广告



广告