1996-04-14
manpages-zh
Chinese manual pages
man-pages-zh_tw
Traditional Chinese Linux man pages
manpages-dev
Manual pages about using GNU/Linux for development
man-pages
Linux kernel and C library user-space interface documentation
NAME 名字
close - 關閉一個文件描述符
SYNOPSIS 總覽
#include <unistd.h>
int close(int fd);
DESCRIPTION 描述
close 關閉 一個 文件 描述符 , 使它 不在 指向 任何 文件 和 可以 在 新的 文件 操作 中 被 再次 使用. 任何 與 此 文件 相關聯 的 以及 程序 所 擁有 的 鎖 , 都 會 被 刪除 (忽略 那些 持有 鎖 的 文件描述符)
假如 fd 是 最後 一個 文件描述符 與此 資源 相 關聯 , 則 這個 資源 將 被 釋放. 若此 描述符 是 最後 一個 引用 到 此 文件 上 的 , 則 文件 將 使用 unlink(2) 刪除.
RETURN VALUE 返回值
close 返回 0 表示 成功 , 或者 -1 表示 有 錯誤 發生 .
ERRORS 錯誤信息
EBADF | fd 不是 一個 有效 的 已 被 打開 的 文件 的 描述符 |
EINTR | The close() 調用 被 一 信號 中斷. |
EIO | I/O 有 錯誤 發生 |
CONFORMING TO
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 documents an additional ENOLINK error condition.
NOTES 注意
通常 不檢測 返回值 , 除了 發生 嚴重 的 程序 錯誤. 文件系統 使用 了 "write-behind" 的 技術 提高 了 執行 write(2) 時 的 性能 . 即使 還 沒有 被 寫 , 寫操作 也會 成功 . 錯誤 信息 在 寫操作 以後 報告 , 但是 這 保證 在 關閉 文件 時 報告 . 在 關閉 文件 時 不檢測 返回值 可能 會 導致 數據 的 丟失 . 這 一點 在 NFS 和 磁盤 配額 上 比較 明顯.
SEE ALSO 參考
[中文維護]
Daniel (badlong)
[中文更新]
2002/1/10
[說明]
若 發現 錯誤 或 不足 請 與 我 聯繫..SH "跋"
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
REFERENCED BY
bpf(2), dup(2), epoll_create(2), eventfd(2), flock(2), open(2), perfmonctl(2), read(2), signalfd(2), socket(2), spu_create(2), spu_run(2), timerfd_create(2), write(2), closedir(3), dbopen(3), fclose(3), fcloseall(3), fts(3), getdtablesize(3), mkfifo(3), posix_spawn(3), shm_open(3), stdio(3), cpuset(7), epoll(7), fanotify(7), inotify(7), pipe(7), shm_overview(7), socket(7), spufs(7), nfs(5), atread(3), cpuset(4), netclose(3), __pmConnectLogger(3), tar_open(3), getdtablesize(2), mknod(2), msocket(2viewos), rmt(1), STAR(1), rscsi(1), close(2), shutdown(2), ares_set_socket_functions(3), srmt(1), ustar(1), io_uring_enter(2)