File-Descriptors
文件描述符是否從未打開?
當然文件可以打開,也可以不打開。
但是,根據定義,文件描述符是指打開的文件(對嗎?)。(嗯,除非它指的是文件以外的東西,比如管道或你有的東西。但它仍然是打開的。)
我多次遇到過“打開文件描述符”這個片語。我認為這是多餘的,事實上除了打開的文件描述符之外沒有其他類型的文件描述符——但我想驗證這一點。
除了“打開”之外,文件描述符是否處於任何其他狀態?(當它關閉時,它不會不復存在嗎?)
一個程序執行這個:
關閉(0);
標準輸入文件描述符的值沒有改變,但它不再引用打開的文件描述。它可用於重新分配。例如,隨後嘗試使用它
read()
會導致,EBADF
因為雖然它仍然是一個文件描述符,但它不是一個引用打開文件描述的分配的描述符。這是一個錯誤的文件描述符。進一步閱讀
- “
close()
”。 開放組基本規範第 7 期。IEEE 1003.1:2008。公開組。2018 年。- “
read()
”。 開放組基本規範第 7 期。IEEE 1003.1:2008。公開組。2018 年。