C语言 当您在与 dup2() 复制的管道文件描述符上调用 close() 时会发生什么?



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

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

现在我使用dup2(fd[write_end],1)将写入结束的描述符(为 4(复制到进程中的文件描述符 1。如果我现在这样做close(fd[write_end])它会关闭描述符 1 或描述符 4 吗?

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

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

相关内容

  • 没有找到相关文章

最新更新