dup()和dup2()系统真正做了什么?

时间:2010-11-13 05:29:46

标签: c unix

dup()dup2()系统调用真正做了什么?我将如何在实践中使用它们?

1 个答案:

答案 0 :(得分:2)

两者都创建与现有打开文件描述相对应的新文件描述符。旧的和新的fd(如位置)之间的大多数属性是共享的;我能想到的唯一没有共享的属性是close-on-exec标志。 dupdup2之间的区别在于dup分配了最低的可用文件描述符编号,而dup2则允许您选择将被分配并原子关闭的文件描述符编号。如果它已经被取代,则替换它。