Linux - atexit()(注册终止)函数
Posted Sophie_h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux - atexit()(注册终止)函数相关的知识,希望对你有一定的参考价值。
进程终⽌的⽅式有8种,前5种为正常终⽌,后三种为异常终⽌:
1、 从main函数返回;
2 、调⽤exit函数;
3 、调⽤_exit或_Exit;
4 、最后⼀个线程从启动例程返回;
5 、最后⼀个线程调⽤pthread_exit;
6 、调⽤abort函数;
7 、接到⼀个信号并终⽌;
8 、最后⼀个线程对取消请求做出响应。
atexit() 函数:注册终止函数 即main执行结束后调用的函数。
它的原型是一个返回值为空,参数为返回值为空的函数指针,void atexit(void (*func)(void))。
使用时所需头部:#include<stdlib.h>
atexit()函数调用的特点:
1)、exit调用注册函数的顺序与他们登记时的顺序恰恰相反,如:登记时函数的顺序为A,B,C,D,E,F,那么exit调用它们的顺序即为F,E,D,C,B,A;
2)、同一个函数若被登记多次,则也会被调用多次。
进程终止:
1)从main函数中返回:
在语句"return 0;"后添加一句输出语句,通过编译运行后,可以发现return语句后的输出语句并没有调用,表示该进程已经终止,不再继续执行。
2)调用exit函数终止进程:
结果同return结果一致,在调用exit函数后,终止进程,不再继续执行程序。
3)调用_exit或Exit终止进程:
以上是关于Linux - atexit()(注册终止)函数的主要内容,如果未能解决你的问题,请参考以下文章
Linux中相关知识(atexit(),fork(),粘滞位)