函数
<cstdlib>

_Exit

void _Exit (int status);
[[noreturn]] void _Exit (int status) noexcept;
终止调用进程
通过将控制权交还给宿主环境来正常终止进程,但不会执行终止进程的任何常规清理任务(如函数 exit 所做的那样)。

不会调用对象析构函数,也不会调用通过 atexitat_quick_exit 注册的函数。

C 流是否被关闭和/或刷新,以及使用 tmpfile 打开的文件是否被移除,取决于具体的系统或库实现。

如果 status 为零或 EXIT_SUCCESS,则向宿主环境返回一个“成功终止”状态。
如果 statusEXIT_FAILURE,则向宿主环境返回一个“不成功终止”状态。
否则,返回的状态取决于系统和库的实现。

参数

状态
状态码。
如果此值为 0EXIT_SUCCESS,表示成功。
如果此值为 EXIT_FAILURE,表示失败。

返回值

无(该函数永不返回)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* _Exit example */
#include <stdio.h>      /* printf, fopen */
#include <stdlib.h>     /* _Exit, EXIT_FAILURE */

int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","r");
  if (pFile==NULL)
  {
    printf ("Error opening file");
    _Exit (EXIT_FAILURE);
  }
  else
  {
    /* file operations here */
  }
  return 0;
}

数据竞争

并发调用此函数多次没有效果。

异常 (C++)

无异常保证:此函数从不抛出异常。

另见