Process 子进程的进程控制块在fork之后是什么样子的?

Process 子进程的进程控制块在fork之后是什么样子的?,process,fork,Process,Fork,我的理解是,当父母分岔时,孩子就成了父母的复制品。换句话说,它们具有相同的过程控制块(PCB)。这完全正确吗?我知道pid显然会有所不同,但它是吗?每个进程都有自己的进程控制块。当父对象分叉时,子对象的过程控制块通常会作为父对象的副本启动,但会发生更改(例如,第一个过程控制块中的一个是PID),并且当子对象自行执行操作时,子对象的过程控制块将变少为父对象的副本 这里有一些 实际的细节会因特定的操作系统而异。因此,在创建之后,孩子拥有内存、寄存器、打开的文件等的精确副本?@MaxMackie,也许

我的理解是,当父母分岔时,孩子就成了父母的复制品。换句话说,它们具有相同的过程控制块(PCB)。这完全正确吗?我知道
pid
显然会有所不同,但它是吗?

每个进程都有自己的进程控制块。当父对象分叉时,子对象的过程控制块通常会作为父对象的副本启动,但会发生更改(例如,第一个过程控制块中的一个是PID),并且当子对象自行执行操作时,子对象的过程控制块将变少为父对象的副本

这里有一些


实际的细节会因特定的操作系统而异。

因此,在创建之后,孩子拥有内存、寄存器、打开的文件等的精确副本?@MaxMackie,也许你应该解释一下你为什么要问这个问题。如果这是一个想要理解概念的问题,那么它是否准确就不重要了。我的期望是,打开的文件的内存和文件控制块将是相同的,但是寄存器将不一样,并且在复制进程控制块之后,会有其他块几乎立即开始变化,因为子进程将开始做其他事情。