fork函数的作用
在Linux中fork函数是非常重要的函数,它的作用是从已经存在的进程中创建一个子进程,而原进程称为父进程。
调用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