Linux

对 fork 函数的思考和理解

2018-05-04  本文已影响31人  爱秋刀鱼的猫

fork函数通过系统调用创建一个与原来进程几乎完全相同的进程。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中。相当于克隆了一个自己。

也就是说,原来的进程和fork出来的子进程的进程空间是完全一样的,包括 代码段,数据段,bss段,堆区,共享内存,栈区。如下图所示:



下面是几个关于子进程复制父进程的内存空间的一些细节:



上一篇下一篇

猜你喜欢

热点阅读