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

廣告


  

廣告



廣告