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函数的主要内容,如果未能解决你的问题,请参考以下文章