linux 下exit()和_exit()区别

来源:互联网 发布:物理层算法设计师 高级 编辑:程序博客网 时间:2024/05/01 15:47

         _exit()函数的作用最为简单:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构;

 exit() 函数则在这些基础上作了一些包装,在执行退出之前加了若干道工序,也是因为这个原因,有些人认为exit

已经不能算是纯粹的系统调用。   

         exit()函数与_exit()函数最大的区别就在于exit()函数在调用exit系统调用之前要检查文件的打开情况,把文件缓冲

区中的内容写回文件,就是"清理I/O缓冲"。 

         总的来说,exit()比较有始有终,保障进程数据的完整性,将缓冲区的数据写入文件后,才做最后的清理工作。