vfork函数的调用序列和返回值与fork相同,但两者的语义不同。vfork起源于较早的4BSD虚存版本。在Leffler等〔1989〕的5.7节中指出:“虽然它是特别有效率的,但是vfork的语义很奇特,通常认为它具有结构上的缺陷。”尽管如此SVR4和4.3+BSD仍支持vfork。某些系统具有头文件,当调用vfork时,应当包括该头文件。vfork用于创建一个新进程,而该新进程的目的是exec一个新程序。程序1-5中的shell基本部分就是这种类型程序的一个例子。

vfork函数-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

vfork与fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec或exit。

相关资料推荐: