vfork vs fork
来源:互联网 发布:pc离线翻译软件 编辑:程序博客网 时间:2024/05/17 23:02
/**********************************************************************/
vfork用于创建一个新进程,而该新进程的目的是exec一个新进程,
vfork和fork一样都创建一个子进程,但是它并不将父进程的地址空间
完全复制到子进程中,因为子进程会立即调用exec,于是也就不会存放该地址空间。
。不过在子进程中调用exec或exit之前,他在父进程的空间中运行。
vfork和fork之间的另一个区别是: vfork保证子进程先运行,在她调用exec或exit之后
父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作
,则会导致死锁。
/************************************************************************/
一点学习体会:
vfork创建的更像一个用户线程,它和父进程共用用户空间,包括用户堆栈,但是其拥有自己的系统堆栈。创建好后父进程被挂起等待子进程的运行,直到子进程调用 exit后,父进程才会被执行,所以vfork后的子进程一定要小心使用,因为子进程完全可以破坏父进程的数据结构或者堆栈,如果子进程改变了父进程的数据结构,那么它就不能调用exit退出,此外还要保证子进程不改变全局数据,以防父进程不能继续运行。
vfork用于创建一个新进程,而该新进程的目的是exec一个新进程,
vfork和fork一样都创建一个子进程,但是它并不将父进程的地址空间
完全复制到子进程中,因为子进程会立即调用exec,于是也就不会存放该地址空间。
。不过在子进程中调用exec或exit之前,他在父进程的空间中运行。
vfork和fork之间的另一个区别是: vfork保证子进程先运行,在她调用exec或exit之后
父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作
,则会导致死锁。
/************************************************************************/
一点学习体会:
vfork创建的更像一个用户线程,它和父进程共用用户空间,包括用户堆栈,但是其拥有自己的系统堆栈。创建好后父进程被挂起等待子进程的运行,直到子进程调用 exit后,父进程才会被执行,所以vfork后的子进程一定要小心使用,因为子进程完全可以破坏父进程的数据结构或者堆栈,如果子进程改变了父进程的数据结构,那么它就不能调用exit退出,此外还要保证子进程不改变全局数据,以防父进程不能继续运行。
- vfork vs fork
- fork VS vfork
- fork vs vfork
- linux进程之fork vs vfork
- linux进程之fork vs vfork
- linux进程之fork vs vfork
- fork vfork
- fork vfork
- fork,vfork
- fork vfork .
- fork、vfork
- linux进程介绍之fork vs vfork(转)
- Fork & vfork & clone (ZZ)
- fork and vfork
- fork/clone/vfork
- fork与vfork
- fork vfork函数区别
- fork vfork exit _exit
- 参考文献的通用样式
- 梅花凋零又冬残
- getParameter和getAttribute的区别是什么?
- rome的一个小例子,读取rss数据
- Rome基本介绍
- vfork vs fork
- Java开源RSS组件包(Java Open Source RSS Lib Packages)
- 北大2000题
- 实现rss
- 2008年11月的最后一晚
- [Linux笔记]下载软件选择篇
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(6)高效率的幂运算
- ajax读rss示例
- C# 或Asp.Net 将excel表格导入数据库