- fork()系统调用是Unix下以自身进程创建子进程的系统调用,一次调用,两次返回,如果返回是0,则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid)
- 在fork()的调用处,整个父进程空间会原模原样地复制到子进程中,包括指令,变量值,程序调用栈,环境变量,缓冲区,等等。
-
#include <stdio.h>#include <sys/types.h>#include <unistd.h>intmain(void){inti;for(i=0; i<2; i++){fork();//注意:下面的printf有“\n”printf("ppid=%d, pid=%d, i=%d \n", getppid(), getpid(), i);}sleep(10);//让进程停留十秒,这样我们可以用pstree查看一下进程树return0;}

5万+

被折叠的 条评论
为什么被折叠?



