标签:
子进程返回值为0。父进程返回值为子进程的进程ID。
这就是所谓的写时复制(COW)。
#include <stdio.h> #include <unistd.h> int glob = 123; int main(void) { int x = 456; pid_t pid; if ((pid = fork()) < 0) return -1; else if (pid == 0) { // 子进程 glob++; x++; } else sleep(2); // 父进程休眠两秒钟 printf("pid = %d, glob = %d, x = %d\n", getpid(), glob, x); return 0; }
比如shell运行一条命令。子进程从fork返回后马上调用exec运行自己的代码。
标签:
原文地址:http://www.cnblogs.com/hrhguanli/p/5079528.html