我对Unix和C编程中的文件描述符有疑问。
比方说,我使用pipe(fd)
来获取文件描述符3和4的管道端,3连接到读取端,4连接到写入端。
现在我在处理过程中使用dup2(fd[write_end],1)
将写端的描述符(为4)复制到文件描述符1。如果我现在close(fd[write_end])
会关闭描述符1或描述符4?
答案 0 :(得分:1)
成功调用dup2
后,两个文件描述符均有效。
当您随后致电close(fd[write_end])
时,由于fd[write_end]
设置为4,因此与close(4)
相同。因此文件描述符1保持打开和可用状态。