exit, _Exit, _exitexit, _Exit, _exit

Termina il processo di chiamata.Terminates the calling process. Il uscire funzione termina dopo la pulizia. Exit e Exit terminano immediatamente.The exit function terminates it after cleanup; _exit and _Exit terminate it immediately.

Nota

Non utilizzare questo metodo per arrestare un'app Universal Windows Platform (UWP), ad eccezione di test o gli scenari di debug.Do not use this method to shut down a Universal Windows Platform (UWP) app, except in testing or debugging scenarios. Modalità dell'interfaccia utente o a livello di codice per chiudere un'app di Store non sono consentiti in base al i criteri di Microsoft Store.Programmatic or UI ways to close a Store app are not permitted according to the Microsoft Store policies. Per altre informazioni, vedere ciclo di vita App UWP.For more information, see UWP App lifecycle. Per altre informazioni sulle app di Windows 10, vedere Guide pratiche per le app di Windows 10.For more information about Windows 10 apps, see How-to guides for Windows 10 apps.

SintassiSyntax

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

ParametriParameters

statusstatus
Codice di stato di uscita.Exit status code.

NoteRemarks

Il uscire, Exit e Exit funzioni terminano il processo chiama.The exit, _Exit and _exit functions terminate the calling process. Il uscire funzione chiama i distruttori per gli oggetti thread-local, quindi chiama, in ordine di last-in-first-out (LIFO), le funzioni registrate da atexit e OnExite infine Scarica tutti i buffer di file prima di terminare il processo.The exit function calls destructors for thread-local objects, then calls—in last-in-first-out (LIFO) order—the functions that are registered by atexit and _onexit, and then flushes all file buffers before it terminates the process. Il Exit e Exit funzioni di terminano il processo senza eliminare gli oggetti locali del thread o l'elaborazione atexit o OnExitfunzioni e senza scaricare i buffer del flusso.The _Exit and _exit functions terminate the process without destroying thread-local objects or processing atexit or _onexit functions, and without flushing stream buffers.

Anche se il uscire, Exit e Exit chiamate non restituiscono un valore, il valore nella stato viene resa disponibile per l'ambiente host o in attesa del processo chiamante, se presente, dopo il processo viene chiuso.Although the exit, _Exit and _exit calls do not return a value, the value in status is made available to the host environment or waiting calling process, if one exists, after the process exits. In genere, il chiamante imposta il stato valore su 0 per indicare una chiusura normale, o un altro valore per indicare un errore.Typically, the caller sets the status value to 0 to indicate a normal exit, or to some other value to indicate an error. Il lo stato valore è disponibile per il comando batch del sistema operativo ERRORLEVEL ed è rappresentato da uno dei due costanti: EXIT_SUCCESS, che rappresenta un valore pari a 0, o EXIT_FAILURE, che rappresenta un valore pari a 1.The status value is available to the operating-system batch command ERRORLEVEL and is represented by one of two constants: EXIT_SUCCESS, which represents a value of 0, or EXIT_FAILURE, which represents a value of 1.

Il uscire, Exit, Exit, quick_exit, cexit, e c_exit funzioni si comportano come indicato di seguito.The exit, _Exit, _exit, quick_exit, _cexit, and _c_exit functions behave as follows.

FunzioneFunction DescrizioneDescription
exitexit Esegue le procedure complete di terminazione della libreria C, termina il processo e fornisce il codice di stato specificato all'ambiente host.Performs complete C library termination procedures, terminates the process, and provides the supplied status code to the host environment.
_Exit_Exit Esegue le procedure minime di terminazione della libreria C, termina il processo e fornisce il codice di stato specificato all'ambiente host.Performs minimal C library termination procedures, terminates the process, and provides the supplied status code to the host environment.
_exit_exit Esegue le procedure minime di terminazione della libreria C, termina il processo e fornisce il codice di stato specificato all'ambiente host.Performs minimal C library termination procedures, terminates the process, and provides the supplied status code to the host environment.
quick_exitquick_exit Esegue le procedure rapide di terminazione della libreria C, termina il processo e fornisce il codice di stato specificato all'ambiente host.Performs quick C library termination procedures, terminates the process, and provides the supplied status code to the host environment.
_cexit_cexit Esegue le procedure complete di terminazione della libreria C e torna al chiamante.Performs complete C library termination procedures and returns to the caller. Non termina il processo.Does not terminate the process.
_c_exit_c_exit Esegue le procedure minime di terminazione della libreria C e torna al chiamante.Performs minimal C library termination procedures and returns to the caller. Non termina il processo.Does not terminate the process.

Quando si chiama il uscire, Exit oppure Exit funzione, i distruttori per gli oggetti temporanei o automatici presenti al momento della chiamata non vengono chiamati.When you call the exit, _Exit or _exit function, the destructors for any temporary or automatic objects that exist at the time of the call are not called. Un oggetto automatico è un oggetto locale non statico definito in una funzione.An automatic object is a non-static local object defined in a function. Un oggetto temporaneo è un oggetto che viene creato dal compilatore, ad esempio un valore restituito da una chiamata di funzione.A temporary object is an object that's created by the compiler, such as a value returned by a function call. Per eliminare un oggetto automatico prima di chiamare uscire, Exit, o Exit, in modo esplicito chiamare il distruttore dell'oggetto, come illustrato di seguito:To destroy an automatic object before you call exit, _Exit, or _exit, explicitly call the destructor for the object, as shown here:

void last_fn() {}
    struct SomeClass {} myInstance{};
    // ...
    myInstance.~SomeClass(); // explicit destructor call
    exit(0);
}

Non utilizzare DLL_PROCESS_ATTACH chiamare uscire dalla DllMain.Do not use DLL_PROCESS_ATTACH to call exit from DllMain. Per chiudere la DLLMain funzione, restituire FALSE da DLL_PROCESS_ATTACH.To exit the DLLMain function, return FALSE from DLL_PROCESS_ATTACH.

RequisitiRequirements

FunzioneFunction Intestazione obbligatoriaRequired header
uscire, Exit, Exitexit, _Exit, _exit <process.h> o <stdlib.h><process.h> or <stdlib.h>

Per altre informazioni sulla compatibilità, vedere Compatibilità.For additional compatibility information, see Compatibility.

EsempioExample

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

Vedere ancheSee also

Controllo di processi e ambienteProcess and Environment Control
abortabort
atexitatexit
_cexit, _c_exit_cexit, _c_exit
Funzioni _exec, _wexec_exec, _wexec Functions
_onexit, _onexit_m_onexit, _onexit_m
quick_exitquick_exit
Funzioni _spawn, _wspawn_spawn, _wspawn Functions
system, _wsystemsystem, _wsystem