在函数栈上面,子进程运行结束了,main的函数栈被子进程释放了,然后父进程在使用的时候,就访问不到了,一旦vfork出子进程,退出的时候需要使用exit来结束.
vfork和fork之间的区别:
1.fork父子进程交替运行,vfork保证子进程先运行,父进程阻塞,直到子进程结束(或子进程调用了exec或exit).
2.fork实现了写时拷贝. 而vfork直接让父子进程共用公用资源,避免多开辟空间拷贝,
3,vfork必须使用exit或者excl退出.
4.就算是fork使用了写时拷贝,也没有vfork性能高.
5.每个系统上的vfork都有问题,推荐不要使用.
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx