vfork和fork函数,exit和_exit函数的联系与区别

来源:互联网 发布:网络电视浏览器在哪里 编辑:程序博客网 时间:2024/04/30 22:19

     vfork函数的调用序列和返回值与fork相同,但两者的语义不同。vfork用于创建一个新进程,而该新进程的目的是exec一个新程序。vfork和fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec(或exit),于是也就不会存放该地址空间,不过在子进程调用exec或exit之前,它在父进程的空间中运行。这种工作方式在某些UNIX的页式虚存实现中提高了效率。vfork和fork之间的另一个区别是:vfork保证子进程先运行,在它调用exec或exit之后父进程才可能被调度运行。
     exit和_exit函数用于正常终止一个程序:_exit立即进入内核,exit则先执行一些清除处理(包括调用执行各终止处理程序,关闭所有标准I/O流等),然后进入内核。

原创粉丝点击