【发布时间】:2013-01-15 17:58:33
【问题描述】:
我有文件描述符,在我的信号处理程序中,我关闭了文件。但由于其他条件,该文件可能已提前关闭。有没有办法检查文件描述符是否指向c和linux中打开的文件?
更新: 是否可以确定与文件描述符关联的文件名?这样,如果 fd 被回收,应用程序可以检测到它。
【问题讨论】:
-
您的意思是仍然通过相同的进程打开?最简单的方法是在关闭文件时将 FD 设置为某个空值
-
为什么不直接使用
close而忽略EBADF?如果您知道,此时此描述符上没有打开任何内容,那么它应该可以工作。 -
您无法确定与描述符关联的文件名。可能没有任何关联的文件名。
-
这似乎与stackoverflow.com/questions/12340695/… 相反,但那里给出的答案对你有用。