exit()和_exit()

来源:互联网 发布:天津广电网络宽带 编辑:程序博客网 时间:2024/05/16 18:07

      这两个函数虽然看过好多遍了,但是过一阵遇到就不大清楚了,又要去翻书。现在写成博客,以后方便。


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

   exit()函数则在这些基础上,先调用推出处理函数并清理I/O缓冲。

   exit()函数在调用exit系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件,即“清理I/O缓冲”。


  举例:

  #include<stdlib.h>

 int main()

 {

   printf("this process will exit!\n");//(1)

   printf("this process will exit!");//(2)

  exit(0);//_exit(0);

  printf("nerver be displayed!");(3)

 }

 运行结果:(3)永远不会输出,

  exit():  (1),(2)都输出

  _exit():(1)输出,(2)没有