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

被折叠的 条评论
为什么被折叠?



