0
系统调用dup()
和dup2()
真的做什么?我将如何在实践中使用它们?dup()和dup2()系统实际上做了什么?
系统调用dup()
和dup2()
真的做什么?我将如何在实践中使用它们?dup()和dup2()系统实际上做了什么?
两者都生成与现有的打开文件描述相对应的新文件描述符。新老fd(如位置)之间的大多数属性是共享的;我能想到的不共享的唯一属性是关闭执行标志。 dup
和dup2
之间的差异在于dup
分配最低的可用文件描述符编号,而dup2
允许您选择将分配的文件描述符编号并自动关闭,并在已经占用的情况下将其替换。
还要注意''fcntl'带'F_DUPFD'命令的行为与'dup2'类似,但不会破坏现有的fd,所以在尝试创建尚未采用的特定fd编号时,它可以安全地用于线程化程序。 – 2012-01-07 04:23:29
阅读手册页并搜索后,你不理解哪部分内容? – 2010-11-13 05:34:08
我无法理解如何使用编程和在哪里使用 – user484457 2010-11-13 05:35:52
你看过http://stackoverflow.com/questions/1720535/practical-examples-use-dup-or-dup2或http:// stackoverflow。 com/questions/3918962/unix-c-dup2-question? – Zeke 2010-11-13 05:39:13