【发布时间】:2020-11-28 16:34:43
【问题描述】:
我正在编写一个 C 程序,其中涉及派生一个子进程以调用 dup2 来拦截 stdout 以写入文件。我想知道如果我调用 dup2(fd, 1),子进程是否会更改父进程的文件描述符表。它会改变父级的 FD 表,还是因为子级有该表的副本就可以了?
【问题讨论】:
标签: c linux operating-system
我正在编写一个 C 程序,其中涉及派生一个子进程以调用 dup2 来拦截 stdout 以写入文件。我想知道如果我调用 dup2(fd, 1),子进程是否会更改父进程的文件描述符表。它会改变父级的 FD 表,还是因为子级有该表的副本就可以了?
【问题讨论】:
标签: c linux operating-system
不,它没有,这就是重点。如果你寻找一个 fd,它会影响父级,因为它实际上是同一个打开文件描述符的两个句柄。
【讨论】: