Linux中的进程 --- fork、vfork、exec函数族、进程退出方式等分析

fork和vfork分析:

  在fork还没有实现copy on write之前,Unix设计者很关心fork之后立即执行exec所造成的地址空间浪费,也就是拷贝进程地址空间时的效率问题,所以引入vfork系统调用。

  vfork有个限制,子进程必须立刻执行_exit或者exec函数。

  即使fork实现了copy on write,效率也没有vfork高,但是现在已经不推荐使用vfork了,因为几乎每一个vfork的实现,都或多或少存在一定的问题。

fork:子进程拷贝父进程的数据段;vfork:子进程与父进程共享数据段。

fork:父子进程的执行顺序不确定;vfork:子进程先运行,父进程后运行。

猜你喜欢

转载自www.cnblogs.com/wanmeishenghuo/p/9348170.html