首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当您对与dup2()重复的管道文件描述符调用close()时,会发生什么情况?

当您对与dup2()重复的管道文件描述符调用close()时,会发生什么情况?
EN

Stack Overflow用户
提问于 2018-10-20 01:50:36
回答 1查看 350关注 0票数 1

我有一个关于Unix和C编程中的文件描述符的问题。

假设我使用pipe(fd)为管道端获取文件描述符3和4,其中3连接到读取端,4连接到写入端。

现在,在我的进程中,我使用dup2(fd[write_end],1)将写入端的描述符(原来是4)复制到文件描述符1。如果我现在执行close(fd[write_end]),它会关闭描述符1还是描述符4?

EN

回答 1

Stack Overflow用户

发布于 2018-10-20 01:52:56

成功调用dup2后,两个文件描述符都有效。

然后调用close(fd[write_end])时,因为fd[write_end]设置为4,所以它与close(4)相同。因此,文件描述符1保持打开并可用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52897615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档