Bootstrap

c++中的fork函数_fork函数的作用_fork函数创建进程

fork函数的作用

在Linux中fork函数是非常重要的函数,它的作用是从已经存在的进程中创建一个子进程,而原进程称为父进程。

bd5e6cfd1a19dab1cf92bd4c277a55f5.png

调用fork(),当控制转移到内核中的fork代码后,内核开始做:

1.分配新的内存块和内核数据结构给子进程。

2.将父进程部分数据结构内容拷贝至子进程。

3.将子进程添加到系统进程列表。

4.fork返回开始调度器,调度。

来段代码:

1#include《stdio.h》

2#include《unistd.h》

3#include《stdlib.h》

4intmain()

5{

6pid_tpid;

7printf(“before:pidis%d\n”,getpid());

8if((pid=fork())==-1)

9perror(“fork()”),exit(1);

10printf(“After:pid=%d,forkreturn%d\n”,getpid(),pid);

11sleep(1);

12

13return0;

14}

15123456789101112131415

;