本文共 568 字,大约阅读时间需要 1 分钟。
linux使用fork来生成一个子进程,fork()
函数的返回值。如果创建失败,将得到 -1;如果创建成功,在父进程中将得到子进程的 PID,在子进程中将得到 0
如果在 fork()
函数之后用一个 if
语句对 fork()
函数的返回值进行判断,子进程和父进程将进入不同的分支。
#include#include #include int main(){ int a = 1; pid_t pid; pid = fork(); if (pid == 0) { /* child task */ a++; printf("Hello, child: a=%d\n", a); sleep(5); exit(0); } else { /* parent task */ sleep(3); printf("Hello, parent: a=%d\n", a); } return 0;}
注:fork之后,子进程和父进程,一开始得到的资源是一样的,但是之后相互独立。子进程修改a后,父进程是得不到。
转载地址:http://clldi.baihongyu.com/