【发布时间】:2012-09-02 16:05:52
【问题描述】:
我有一个文件描述符存储在变量 var 中。如何在以后检查该描述符是否有效?
fdvar1= open(.....);
fdvar2 = fdvar1; // Please ignore the bad design
....
// lots of loops , conditionals and threads. It can call close(fdvar2) also.
....
if(CheckValid(fdvar1)) // How can I do this check ?
write(fdvar1, ....);
现在我想检查 var1(仍然保存打开的描述符)是否仍然有效。 有任何 API 吗?
【问题讨论】:
-
为什么FD是在C级而不是OS级复制?
-
查看
dup的手册页。 -
即使你可以检查有效性,结果也大多是毫无价值的,因为有可能另一个打开的文件在关闭原始文件后收到相同的描述符。
-
这在 TLPI 练习 5.4 中提到的很清楚。
标签: c linux gcc file-descriptor