fork 函数 和vfork 函数的区别
2013-10-21 22:34
316 查看
问题描述:
fork 函数 和vfork 函数的区别
问题解决:
fork函数使用:
注:
以上printf 属于标准IO库带缓冲,如果标准输出链接到终端设备,则它是行缓冲,否则它是全缓冲
如果以控制台终端输出结果如下:
以上printf(“before fork”)只输出一行,原因是标准输出由换行符冲洗
如果将输出结果重定向到文件,输出结果如下:
由于文件是全缓冲,因此会看到两次 before fork的输出
vfork函数使用:
注:
vfork在子进程调用exec或exit之前,在父进程的地址空间中运行,vfork保证子进程先运行。
在此程序中,子进程执行完之后,释放局部变量local的空间,因此父进程执行时会出现段错误,
运行结果如下:
fork 函数 和vfork 函数的区别
问题解决:
fork函数使用:
注:
以上printf 属于标准IO库带缓冲,如果标准输出链接到终端设备,则它是行缓冲,否则它是全缓冲
如果以控制台终端输出结果如下:
以上printf(“before fork”)只输出一行,原因是标准输出由换行符冲洗
如果将输出结果重定向到文件,输出结果如下:
由于文件是全缓冲,因此会看到两次 before fork的输出
vfork函数使用:
注:
vfork在子进程调用exec或exit之前,在父进程的地址空间中运行,vfork保证子进程先运行。
在此程序中,子进程执行完之后,释放局部变量local的空间,因此父进程执行时会出现段错误,
运行结果如下:
相关文章推荐
- fork()和vfork()的区别,signal函数用法,exec()系列函数的用法小结
- 进程创建函数fork和vfork的区别
- 详解linux中fork、vfork、clone函数的区别
- 函数fork与vfork的区别与联系详解
- Linux下fork()&vfork()的区别、getenv()&setenv()函数以及僵尸进程、孤儿进程讲解
- 函数fork与vfork的区别与联系详解
- linux中fork()和vfork()函数的使用和区别
- 函数fork与vfork的区别与联系详解
- 函数fork与vfork的区别与联系详解
- 进程创建函数fork和vfork的区别
- 函数fork与vfork的区别与联系详解
- 函数fork与vfork的区别与联系详解
- linux c之创建进程fork和vfork函数之间的区别
- fork与vfork的区别
- vfork和fork区别
- vfork,fork,exec函数的区别
- Linux中fork,vfork和clone详解(区别与联系)
- fork 和 vfork 的区别与联系
- fork和vfork的区别
- 进程学习(一)——fork()和vfork()函数学习过程