vfork可以用来创建一个新进程,与fork相比,也有独特的用处
******************************************************************************************************************************************
可分以下几点差异:
1.1 vfork与fork一样都是调用一次,返回两次
2.2 fork创建子进程时,是完全复制父进程的资源,这样的子进程独立与父进程。
vfork创建时,操作系统并不将父进程的地址空间完全复制到子进程而是共享父进程的地址空间,子进程对该地址空间的任何数据的修改父进程可见。
3.3fork创建一个子进程时,那个进程先运用取决于系统的调度算法,二vfork一个进程时,必须先确保子进程先运行,
当它调用exec或者说exit后父进程才能被调度运行。
当它调用exec或者说exit之前子进程要依赖父进程的某个行为,就会导致死锁。
**********************************************************************************************************************************************