fork()函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fork()函数相关的知识,希望对你有一定的参考价值。

fork()函数的作用

fork()函数将原有的进程复制一份,创造出新的进程,新的进程称为子进程,原有的进程称为父进程;

复制的时候是复制的数据段堆栈段,程序代码段是父进程和子进程共享的,数据段和堆栈段的复制只是"逻辑"上的,并非"物理"上的,实际执行fork时,物理空间上两个进程的数据段堆栈段都还是共享着的,只有当进程写了某个数据时,两个进程之间的数据才有了区别,系统就将有区别的"页"从物理上也分开,也叫写时复制技术(copy-on-write),如此在空间上的开销就可以达到最小。

子进程和父进程

子进程的执行起点是从调用fork()函数语句开始的。

在父进程中,fork()语句将返回子进程的进程ID,对子进程来说,fork()语句将返回0.

以上是关于fork()函数的主要内容,如果未能解决你的问题,请参考以下文章

关于fork()函数

当一个函数中多次出现fork函数会是啥结果

fork函数

c/c++ 多进程 fork函数

子进程是否从 Fork 函数 后 开始执行,执行函数后的代码。Fork函数之前的不执行?

进程控制---fork函数