CLOSE(2) | Linux Programmer's Manual | CLOSE(2) |
NAME 名字
close - 關閉一個檔案描述符
SYNOPSIS 總覽
#include <unistd.h> int close(int fd);
DESCRIPTION 描述
close 關閉 一個 檔案 描述符 , 使它 不在 指向 任何 檔案 和 可以 在 新的 檔案 操作 中 被 再次 使用. 任何 與 此 檔案 相關聯 的 以及 程式 所 擁有 的 鎖 , 都 會 被 刪除 (忽略 那些 持有 鎖 的 檔案描述符)
假如 fd 是 最後 一個 檔案描述符 與此 資源 相 關聯 , 則 這個 資源 將 被 釋放. 若此 描述符 是 最後 一個 引用 到 此 檔案 上 的 , 則 檔案 將 使用 unlink(2) 刪除.
RETURN VALUE 返回值
close 返回 0 表示 成功 , 或者 -1 表示 有 錯誤 發生 .
ERRORS 錯誤資訊
CONFORMING TO
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 documents an additional ENOLINK error condition.
NOTES 注意
通常 不檢測 返回值 , 除了 發生 嚴重 的 程式 錯誤. 檔案系統 使用 了 "write-behind" 的 技術 提高 了 執行 write(2) 時 的 效能 . 即使 還 沒有 被 寫 , 寫操作 也會 成功 . 錯誤 資訊 在 寫操作 以後 報告 , 但是 這 保證 在 關閉 檔案 時 報告 . 在 關閉 檔案 時 不檢測 返回值 可能 會 導致 資料 的 丟失 . 這 一點 在 NFS 和 磁碟 配額 上 比較 明顯.
由於 核心 會 延遲 寫 , 所以 就算 成功 關閉 一個 檔案 不能 保證 資料 被 成功 的 寫到 磁碟 上. 當 檔案流 關閉 時 , 對 檔案系統 來說 一般 不去 重新整理 緩衝區 . 如果 你 要 保證 資料 寫入 磁碟 等 物理 存貯器 中 就 使用 fsync(2) 或 sync(2), 他們 會 做到 你想做的 (對於 這一點 要 依賴於 磁碟 裝置).
SEE ALSO 參考
[中文維護]
Daniel (badlong@163.com)
[中文更新]
2002/1/10
[說明]
若 發現 錯誤 或
不足 請 與 我 聯絡..SH
"跋"
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
1996-04-14 |