首先说一下fork和vfork的差别: fork 是 创建一个子进程,并把父进程的内存数据copy到子进程中. vfork是 创建一个子进程,并和父进程的内存数据share一起用. 这两个的差别是,一个是copy,一个是share. 你 man vfork 一下,你可以看到,vfork是这样的工作的,1)保证子进程先执行.2)当子进程调用exit()或exec()后,父进程往下执行. 那么,为什么要干出一个vfork这个玩意? 原因是这样的—— 起初只有fork,但是很多程序在fork一个子进程