exit, _exit
호출 프로세스를 종료-exit ; 정리 후 종료; _exit 는 즉시 종료를 합니다.
참고
테스트 또는 디버깅 시나리오에서를 제외하고는 Windows 스토어 응용 프로그램을 종료하기 위해 이 메서드를 사용하지 마십시오.프로그래밍 또는 UI 방식으로 Windows 스토어 응용 프로그램을 닫는 것은 Windows 8 응용 프로그램 인증 요구 사항의 섹션 3.6에 따라서 허용되지 않습니다.자세한 내용은 응용 프로그램 수명 주기(Windows 스토어 응용 프로그램)를 참조하십시오.
void exit(
int status
);
void _exit(
int status
);
매개 변수
- status
Exit status.
설명
exit 및 _exit 함수는 호출 프로세스를 종료합니다. exit는 -마지막에서 첫 번째 아웃 (LIFO) 순서-로- atexit 및 _onexit 에 의해 등록된 함수를 호출하고, 프로레스를 종료하기 전에 모든 파일 버퍼를 플러시합니다. _exit 는 atexit 및 _onexit 과 스트림 버퍼 플러시 없이 프로레스를 종료합니다. 일반적으로, status 값에 정상적인 종료를 나타내는 0을 설정하거나 오류를 나타내는 다른 값을 설정합니다.
exit 및 _exit 호출은 값을 반환하지 않지만, status 의 하위 바이트 값은 프로세스 종료 후 대기 중인 호출 프로세스를 사용할 수 있습니다. status 값은 운영 체제 배치 명령 ERRORLEVEL 에 사용할 수 있고 두 상수 중 하나가 표시 됩니다: EXIT_SUCCESS이 0의 값을 나타내거나 EXIT_FAILURE이 1의 값을 나타냅니다. exit, _exit, _cexit, 과 다음과 같이 작동하는 _c_exit 입니다.
Function |
설명 |
---|---|
exit |
전체 C 라이브러리 종료 절차를 수행하고 프로세스를 종료하고 제공된 상태 코드와 함께 종료합니다. |
_exit |
빠르게 C 라이브러리 종료 절차를 수행하고 프로세스를 종료하고 제공된 상태 코드와 함께 종료합니다. |
_cexit |
전체 C 라이브러리 종료 절차를 수행하고 호출자에게 반환되지만 프로세스는 종료되지 않습니다. |
_c_exit |
빠르게 C 라이브러리 종료 절차를 수행하고 호출자에게 반환되지만 프로세스는 종료되지 않습니다. |
exit 또는 _exit 함수를 호출할 때, 호출되지 시점에서 존재하는 자동 또는 임시 개체에 대한 소멸자는 호출되지 않습니다. 자동 개체는 static으로 선언되지 않은 개체의 위치의 함수에서 정의됩니다. 임시 개체는 컴파일러에 의해 생성되는 개체입니다. exit 또는 _exit를 호출하기 전에 자동 개체를 소멸시키려면, 다음과 같이 명시적으로 개체에 대한 소멸자를 호출해야 합니다:
myObject.myClass::~myClass();
DllMain로 부터 exit 를 호출하기 위해 DLL_PROCESS_ATTACH 를 사용합니다. DLLMain 함수를 종료하려면, DLL_PROCESS_ATTACH로 부터 FALSE 를 반환합니다.
요구 사항
Function |
필수 헤더 |
---|---|
exit |
<process.h> 또는 <stdlib.h> |
_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 );
}
해당 .NET Framework 항목
System::Diagnostics::Process::Kill