fork函数

Posted tijie

tags:

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

Linux系统下可以使用fork()函数创建一个子进程,其函数原型如下:

#include<usistd.h>
pid_t fork(void);

fork()函数不需要参数,返回值是一个进程标识符(PID)。对于返回值,有一下3种情况:

(1)对于父进程,fork()函数返回新创建的子进程的ID

(2)对于子进程,fork()函数返回0

(3)如果创建失败,fork()函数返回-1

fork()函数会创建一个新的进程,并从内核中为此进程分配一个新的可用的进程标识符(PID),之后为这个新进程分配进程空间,并将

父进程空间中的内容复制到子进程的进程空间中,包括父进程的数据段和堆栈段,并且和父进程共享代码段。这时候系统中就多了进程

这个进程和父进程一抹一眼,两个进程都会接收系统的调度。并且fork()函数会返回两次,一个是在父进程中返回,一个是在子进程中返回,这两个

返回值是不一样的。

最后给出子进程继承资源的情况

技术图片

 

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

fork函数详解(附代码)

fork()函数分析

fork()函数 —— 父子进程资源问

linuxC中fork()函数详解

FORK()函数

c/c++ 多进程 fork函数