Compartir a través de


exit, _exit

Finaliza el proceso de llamada: exit lo finaliza después de la limpieza; _exit lo finaliza inmediatamente.

Nota

No use este método para cerrar una aplicación de Tienda Windows, salvo en escenarios de prueba o depuración.Las formas de cerrar mediante programación o con la interfaz de usuario una aplicación de Tienda Windows no se permiten según la Sección 3.6 de los Requisitos de certificación para una aplicación de Windows 8.Para obtener más información, vea Ciclo de vida de la aplicación (aplicaciones de la Tienda Windows).

void exit( 
   int status 
);
void _exit( 
   int status 
);

Parámetros

  • status
    Estado de salida.

Comentarios

Las funciones exit y _exit finalizan el proceso de llamada. exit llama (en orden LIFO, último en entrar, primero en salir) a las funciones registradas por atexit y _onexit y, a continuación, vacía todos los búferes de archivo antes de finalizar el proceso. _exit finaliza el proceso sin procesar atexit ni _onexit y sin vaciar los búferes de flujo. Normalmente, el valor de status se establece en 0 para indicar una salida normal o en otro valor para indicar un error.

Aunque las llamadas de exit y _exit no devuelve ningún valor, el byte de orden inferior de status se pone a disposición del proceso de llamada en espera, si existe, una vez que ha finalizado el proceso de llamada. El valor de status está disponible para el comando de proceso por lotes ERRORLEVEL del sistema operativo y se representa mediante una de dos constantes: EXIT_SUCCESS, que representa un valor de 0, o EXIT_FAILURE, que representa un valor de 1. exit, _exit, _cexit y _c_exit se comportan como se indica a continuación.

Función

Descripción

exit

Realiza los procedimientos completos de finalización de la biblioteca de C, finaliza el proceso y se cierra con el código de estado proporcionado.

_exit

Realiza procedimientos rápidos de finalización de la biblioteca de C, finaliza el proceso y se cierra con el código de estado proporcionado.

_cexit

Realiza procedimientos completos de finalización de la biblioteca de C y vuelve al llamador, pero no finaliza el proceso.

_c_exit

Realiza procedimientos rápidos de finalización de la biblioteca de C y vuelve al llamador, pero no finaliza el proceso.

Cuando se llama a la función exit o _exit, no se llama a los destructores de ningún objeto temporal o automático que exista en el momento de la llamada. Un objeto automático se define en una función en la que el objeto no se declara como estático. Un objeto temporal es un objeto creado por el compilador. Para destruir un objeto automático antes de llamar a exit o _exit, llame explícitamente al destructor del objeto, como se indica a continuación:

myObject.myClass::~myClass();

No use DLL_PROCESS_ATTACH para llamar a exit desde DllMain. Si desea cerrar la función DLLMain, devuelva FALSE desde DLL_PROCESS_ATTACH.

Requisitos

Función

Encabezado necesario

exit

<process.h> o <stdlib.h>

_exit

<process.h> o <stdlib.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

Ejemplo

// 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 );
}

Equivalente en .NET Framework

System::Diagnostics::Process::Kill

Vea también

Referencia

Control de proceso y de entorno

abort

atexit

_cexit, _c_exit

_exec, _wexec (Funciones)

_onexit, _onexit_m

_spawn, _wspawn (Funciones)

system, _wsystem