返回值

abort()函数从不返回。

另外参见

gdb(1),sigaction(2),assert(3),exit(3),longjmp(3),raise(3)

说明

abort()函数首先解除对SIGABRT信号的阻塞,然后为调用进程引发该信号(就像调用了raise(3)一样)。除非捕获到SIGABRT信号并且信号处理程序不返回,否则这将导致过程异常终止(请参见longjmp(3))。

如果SIGABRT信号被忽略,或被返回的处理程序捕获,则abort()函数仍将终止该进程。它通过恢复SIGABRT的默认配置,然后第二次提高信号来做到这一点。

语法

#include <stdlib.h>

void abort(void);

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
abort()Thread safetyMT-Safe
ABORT - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-06-09

名称

abort-将异常进程终止

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

备注

直到glibc 2.26,如果abort()函数导致进程终止,所有打开的流都将关闭并清除(与fclose(3)一样)。但是,在某些情况下,这可能导致死锁和数据损坏。因此,从glibc 2.27开始,abort()终止进程而不刷新流。 POSIX.1允许任何一种可能的行为,表示abort()"可能包括尝试在所有打开的流上实现fclose()"。

遵循规范

SVr4,POSIX.1-2001,POSIX.1-2008、4.3BSD,C89,C99。

日期:2019-08-20 17:59:50 来源:oir作者:oir