return exit _exit

 

(1)进程终止:

  C程序的终止分为两种:正常终止和异常终止

 

  正常终止分为: return, exit, _exit, _Exit, pthreade_exit

 

  异常中指分为: abort, SIGNAL,线程响应取消

 

  (2)atexit终止处理程序

     ISO C规定,一个进程最多可登记32个终止处理函数,这些函数由exit登记相反的顺序自动调用。如果同一函数登记多次,也会被调用多次。

 

(3)exit 与 _exit主要区别:

 

main函数结束时也会隐式地调用exit函数,exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件

 

而这些处理函数都是在程序退出的时候利用atexit函数调用了这些处理函数。但是如果用_exit()退出程序,则它不关闭任何文件,不清除任何缓冲器、也不调用任何终止函数!

 

原文地址:https://www.cnblogs.com/luntai/p/6233103.html