-
vfork函数的直接转换方法:从数据流图到模块结构图
资源介绍
8.4 vfork函数
v f o r k函数的调用序列和返回值与f o r k相同,但两者的语义不同。
v f o r k起源于较早的4 B S D虚存版本。在L e ffler 等〔1 9 8 9〕的5 . 7节中指出:“虽
然它是特别有效率的,但是v f o r k的语义很奇特,通常认为它具有结构上的缺陷。”
尽管如此S V R 4和4 . 3 + B S D仍支持v f o r k。
某些系统具有头文件< v f o r k . h >,当调用v f o r k时,应当包括该头文件。
v f o r k用于创建一个新进程,而该新进程的目的是 e x e c一个新程序 (如上节 (2) 中一样 )。程
序1 - 5中的s h e l l基本部分就是这种类型程序的一个例子。 v f o r k与f o r k一样都创建一个子进程,
但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用 e x e c (或e x i t ),于
第 8章 进 程 控 制 1 4 5