标签: c unix
dup()和dup2()系统调用真正做了什么?我将如何在实践中使用它们?
dup()
dup2()
答案 0 :(得分:2)
两者都创建与现有打开文件描述相对应的新文件描述符。旧的和新的fd(如位置)之间的大多数属性是共享的;我能想到的唯一没有共享的属性是close-on-exec标志。 dup和dup2之间的区别在于dup分配了最低的可用文件描述符编号,而dup2则允许您选择将被分配并原子关闭的文件描述符编号。如果它已经被取代,则替换它。
dup
dup2