面试题【2】‘exit()’与‘_exit()’的区别

来源:互联网 发布:ui设计师老被叫美工 编辑:程序博客网 时间:2024/06/07 10:16

一、exit()函数的作用最为简单:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构(用户状态结构 user-mode constructs);exit()函数则在这些基础上作了一些包装­,在执行退出之前加了若干道工序(调用用户自定义的清除程序),也是因为这个原因,有些人认为exit已经不能算是纯粹的系统调用。

exit()函数与_exit()函数最大的区别就在于exit()函数在调用exit系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件,即所谓的"清理I/O缓冲"

二、‘exit()’‘_exit()’有不少区别在使用‘fork()’,特别是‘vfork()’时变得很 突出。 

0 0