【发布时间】:2011-12-13 06:43:44
【问题描述】:
我知道 dup, dup2, dup3 "创建文件描述符 oldfd 的副本"(来自手册页)。但是我无法消化它。
据我所知,文件描述符只是数字,用于跟踪文件位置及其方向(输入/输出)。这样做不是更容易吗
fd=fd2;
每当我们想要复制文件描述符时?
还有别的……
dup() 使用编号最小的未使用描述符作为新描述符。
这是否意味着如果我们假设我们有 close( )-ed 其中之一?
【问题讨论】:
-
对于第一个问题,您需要记住内核会跟踪打开文件句柄的数量。
dup是您告诉内核您希望它跟踪另一个文件句柄(指同一个文件)的方式,直到您close它。