exit
, , _Exit
_exit
호출 프로세스를 종료합니다. exit
함수는 정리 후 종료합니다. _exit
및 _Exit
는 즉시 종료합니다.
참고 항목
테스트 또는 디버깅 시나리오를 제외하고 이 메서드를 사용하여 UWP(유니버설 Windows 플랫폼) 앱을 종료하지 마세요. Microsoft Store 정책에 따라 스토어 앱을 닫는 프로그래밍 방식 또는 UI 방법은 허용되지 않습니다. 자세한 내용은 UWP 앱 수명 주기를 참조 하세요. UWP 앱에 대한 자세한 내용은 유니버설 Windows 플랫폼 설명서를 참조하세요.
구문
void exit(
int const status
);
void _Exit(
int const status
);
void _exit(
int const status
);
매개 변수
status
종료 상태 코드입니다.
설명
exit
, _Exit
및 _exit
함수는 호출 프로세스를 종료합니다. exit
함수는 스레드 로컬 개체에 대해 소멸자를 호출한 다음 atexit
및 _onexit
에 의해 등록된 함수를 LIFO(후입선출) 순서로 호출하고 프로세스를 종료하기 전에 모든 파일 버퍼를 플러시합니다. _Exit
및 _exit
함수는 스레드 로컬 개체를 삭제하거나 atexit
또는 _onexit
함수를 처리하지 않고 스트림 버퍼를 플러시하지 않은 상태로 프로세스를 종료합니다.
및 _Exit
_exit
호출은 exit
값을 반환하지 않지만, 프로세스가 종료된 후 호스트 환경에서 값을 status
사용하거나 호출 프로세스가 있는 경우 대기 중인 프로세스를 사용할 수 있습니다. 일반적으로 호출자는 status
값을 0으로 설정하여 정상 종료를 나타내거나 다른 값으로 설정하여 오류를 나타냅니다. status
값은 운영 체제 일괄 처리 명령 ERRORLEVEL
에 제공되며, 값 0을 나타내는 EXIT_SUCCESS
또는 값 1을 나타내는 EXIT_FAILURE
의 두 상수 중 하나로 표현됩니다.
exit
, _Exit
, _exit
, quick_exit
, _cexit
및 _c_exit
함수는 다음과 같이 동작합니다.
함수 | 설명 |
---|---|
exit |
전체 C 라이브러리 종료 절차를 수행하고, 프로세스를 종료하고, 제공된 상태 코드를 호스트 환경에 제공합니다. |
_Exit |
최소 C 라이브러리 종료 절차를 수행하고, 프로세스를 종료하고, 제공된 상태 코드를 호스트 환경에 제공합니다. |
_exit |
최소 C 라이브러리 종료 절차를 수행하고, 프로세스를 종료하고, 제공된 상태 코드를 호스트 환경에 제공합니다. |
quick_exit |
빠른 C 라이브러리 종료 절차를 수행하고, 프로세스를 종료하고, 제공된 상태 코드를 호스트 환경에 제공합니다. |
_cexit |
전체 C 라이브러리 종료 절차를 수행하고 호출자에게 반환됩니다. 프로세스를 종료하지 않습니다. |
_c_exit |
최소 C 라이브러리 종료 절차를 수행하고 호출자에게 반환됩니다. 프로세스를 종료하지 않습니다. |
함수 또는 _exit
함수를 exit
_Exit
호출할 때 호출 시 존재하는 임시 또는 자동 개체에 대한 소멸자가 호출되지 않습니다. 자동 개체는 함수에 정의된 비정적 로컬 개체입니다. 임시 개체는 함수 호출에서 반환된 값과 같이 컴파일러에서 만든 개체입니다. 호출exit
_Exit
하기 전에 자동 개체를 삭제하거나 _exit
다음과 같이 개체의 소멸자를 명시적으로 호출하려면 다음을 수행합니다.
void last_fn() {}
struct SomeClass {} myInstance{};
// ...
myInstance.~SomeClass(); // explicit destructor call
exit(0);
}
에서 DllMain
호출 exit
하는 데 사용하지 DLL_PROCESS_ATTACH
마세요. 함수를 DLLMain
종료하려면 .에서 DLL_PROCESS_ATTACH
반환 FALSE
합니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
함수 | 필수 헤더 |
---|---|
exit , , _Exit _exit |
<process.h> 또는 <stdlib.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// crt_exit.c
// This program returns an exit code of 1. The
// error code could be tested in a batch file.
#include <stdlib.h>
int main( void )
{
exit( 1 );
}
참고 항목
프로세스 및 환경 제어
abort
atexit
_cexit
, _c_exit
_exec
, _wexec
함수
_onexit
, _onexit_m
quick_exit
_spawn
, _wspawn
함수
system
, _wsystem