标签:
子进程返回值为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