欢迎访问服务百科信息网!
首页 >科技 >abort
abort

abort

(计算机术语)
引发不正常进程的终止。
abort资料
  • 性质:函数名
  • 功能:异常终止一个进程
  • 头文件:#include
  • 概述:引发不正常进程的终止
  • 函数简介

    函数名:abort

    头文件:#include

    功能:异常终止一个进程。中止当前进程,返回一个错误代码。错误代码的缺省值是3。

    该函数产生SIGABRT信号并发送给自己,默认情况下导致程序终止不成功的终止错误代码返回到主机环境。

    自动或静态存储持续时间的对象,而无需调用任何atexit函数,析构函数不执行程序终止。函数永远不会返回到其调用者。

    用法:void abort(void);

    举例

    程序例:

    #include

    #include

    int main(void)

    {

    printf("Calling abort()\n");

    abort();

    return 0; /* This is never reached */

    }

    注意事项

    因为调用abort()而终止,那么是因为某些条件成立,而用户不得不作出终止当前进程的决定(参考assert()),abort()行为本身并不异常,如果用户调用了,那么进程就终止,完全是预期的行为。原理上来说,abort通过给自己发送SIGABRT信号,然后kernel会杀掉自己,并coredump。但是,如果用户重新定义了SIGABRT信号的行为呢?

    结果是,会打印"catch signal",然后还是coredump了。原因是:abort()函数里面先给自己发送SIGABRT保证handler执行,然后再重新注册了SIGABRT,会修改成默认行为,再次给自己发送SIGABRT,保证执行默认行为,coredump。同时,还会flush所有打开的文件,然后关闭掉。

  • 上一篇百科:sigsuspend
  • 下一篇百科:STREAMS