【发布时间】:2017-09-05 02:57:51
【问题描述】:
复制文件描述符 fd 时调用 dup,并关闭原始文件描述符。
是否所有重复的文件描述符也会关闭?
【问题讨论】:
标签: c file-descriptor dup2
复制文件描述符 fd 时调用 dup,并关闭原始文件描述符。
是否所有重复的文件描述符也会关闭?
【问题讨论】:
标签: c file-descriptor dup2
不,不会关闭重复项。否则主要用例(复制到STDOUT_FILENO 和STDIN_FILENO)将毫无用处。
【讨论】:
dup 不做任何关闭...您需要参考其他一些 POSIX 手册页,也许是关于程序执行的。说到这一点,我很确定有一个(可能更多)两个文件描述符都将关闭的情况:在程序终止时。
dup 或类似的),那么原始描述符和复制描述符之间就没有链接了。您可能还应该阅读有关引用计数的内容,因为被复制的实际“文件”将使其引用计数器因复制而增加一,并且“文件”在引用之前不会真正关闭计数为零。
close 关闭了重复项,则主要用例将不起作用。