您的位置:首页 > 其它

fork和vfork的区别

2012-11-03 17:04 225 查看
fork和vfork的区别:

fork: 创建的子进程是拷贝父亲进程的数据段,不共用数据段

vfork:子进程和父进程共用数据段

2. fork: 子进程和父进程的执行次序不确定

vfork:子进程先运行父进程后运行

一下两个例子分别使用fork和vfork创建子进程,验证结果

View Code

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int count = 0;
pid_t pid;
pid = vfork();
count++;
if(pid < 0)
{
printf("error in fork\n");
}
else if(0 == pid){
printf("This id child process, count = %d\n", count);//count=1
exit(0);
}
else{
printf("This is parent proccess, count = %d\n", count);//count=2
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: