【发布时间】:2013-11-16 21:49:33
【问题描述】:
我有一个非常简单的问题,只想得到一个答案,以确保我对 fork() 函数和 fd 表的了解是否正确。我的问题是:也许有一个分叉子进程的父进程。据我了解,这个子进程也有一个fd表,和它的父进程是一样的。假设我做了一个 dup2 来重定向子进程中的 fd;因此,更改子进程的 fd 表。子fd表的这种变化会不会也反映在父fd表中?
谢谢!
【问题讨论】:
我有一个非常简单的问题,只想得到一个答案,以确保我对 fork() 函数和 fd 表的了解是否正确。我的问题是:也许有一个分叉子进程的父进程。据我了解,这个子进程也有一个fd表,和它的父进程是一样的。假设我做了一个 dup2 来重定向子进程中的 fd;因此,更改子进程的 fd 表。子fd表的这种变化会不会也反映在父fd表中?
谢谢!
【问题讨论】:
不,它不会。 fd 表从父进程继承而来,但它是每个进程私有的。 - 所以子进程将从父 fd 表的副本开始。
【讨论】: