exit()在结束调用它的进程之前,要进行如下步骤:
1.cleanup();
2.在atexit()注册的函数;
最后调用_exit()函数。。。
_exit()不执行I/O缓存的刷新动作
_exit终止调用进程,但不关闭文件(应该也关闭文件的),不清除输出缓存,也不调用出口函数。
exit函数将终止调用进程。在退出程序之前,所有文件关闭,缓冲输出内容
将刷新定义,并调用所有已刷新的“出口函数”(由atexit定义)。
1.cleanup();
2.在atexit()注册的函数;
最后调用_exit()函数。。。
_exit()不执行I/O缓存的刷新动作
_exit终止调用进程,但不关闭文件(应该也关闭文件的),不清除输出缓存,也不调用出口函数。
exit函数将终止调用进程。在退出程序之前,所有文件关闭,缓冲输出内容
将刷新定义,并调用所有已刷新的“出口函数”(由atexit定义)。
本文详细阐述了exit()和_exit()函数在结束进程时的操作流程,包括清理工作、调用atexit注册的函数以及最终终止进程的方法。重点在于解释它们在关闭文件、刷新输出缓存及调用出口函数等方面的不同行为。

被折叠的 条评论
为什么被折叠?



