1、_exit()
头文件:
#include < unistd.h >
void _exit(int status);
_exit()函数的作用,直接使进程停止运行,清楚其使用的内存空间,并销毁其在内核中的各种数据结构。
2、exit()
头文件:
#include < stdlib.h >
void exit(int status);
exit()函数则在这些基础上做了一些包装,在执行退出之前多了若干到工序。exit() 函数与 _exit() 函数的最大区别在于exit()函数在调用exit 系统调用前要检查文件的打开情况,把文件缓冲区中的内容写回文件,就是的“清理I/O缓冲”。
exit()在结束调用它的进程之前,要进行如下步骤:
1).调用atexit()注册的函数(出口函数);按ATEXIT注册时相反的顺序调用所有由它注册的函数,这使得我们可以指定在程序终止时执行自己的清理动作.例如,保存程序状态信息于某个文件,解开对共享数据库上的锁等.
2).cleanup();关闭所有打开的流,这将导致写所有被缓冲的输出,删除用TMPFILE函数建立的所有临时文件.
3).最后调用_exit()函数终止进程。
阅读(325) | 评论(0) | 转发(0) |