1.在大多数时候fork函数会和exec系列函数搭配使用,在创建一个进程之后用于执行另外一段代码,也可以不使用exec系列函数来执行新的程序。
2.一次成功的vfork调用具有跟fork一样的行为,但是子进程必须立即发出一个成功的exec调用或是调用_exit
3.fork与vfork之间的区别如下:
- fork要拷贝父进程的数据段,得到与父进程完全独立的副本;而vfork则不需要完全拷贝父进程的数据段,在子进程没用调用exec系列函数或exit函数之前,子进程与父进程共享数据段。
- fork不对父子进程的执行次序进行任何限制;vfork调用中,子进程先运行,父进程挂起,直到子进程调用了exec系列函数或exit之后,父子进程的执行次序才不再有限制。