Partager via


exit, _exit

Les fonctions suivantes terminent le processus appelant :exit le termine après nettoyage ; _exit le termine immédiatement.

Notes

N'utilisez pas cette méthode pour arrêter une application Windows Store, sauf dans les scénarios de test ou de débogage.Les méthodes de programmation ou de l'interface utilisateur pour fermer une application Windows Store ne sont pas autorisées d'après la section 3.6 des Critères de certification pour les applications Windows 8.Pour plus d'informations, consultez Cycle de vie d'une application (applications du Windows Store).

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

Paramètres

  • status
    État de sortie.

Notes

Les fonctions exit et _exit terminent le processus appelant. La fonction exit appelle, dans l'ordre last-in-first-out (LIFO), les fonctions enregistrées par atexit et _onexit, puis vide toutes les mémoires tampons de fichier avant de mettre fin au processus. _exit met fin au processus sans traiter atexit ou _onexit et sans vider les flux tampons. En général, la valeur de status est 0 afin d'indiquer une sortie standard ou réglée à une autre valeur pour indiquer une erreur.

Bien que les appels d' exit et d' _exit ne retournent aucune valeur, l'octet de poids faible de status est disponible au processus appelant en attente, le cas échéant, une fois le processus appelant terminé. La valeur de status est disponible à la commande batch du système d'exploitation ERRORLEVEL et est représentée par une des deux constantes suivantes : EXIT_SUCCESS, qui représente une valeur de 0, ou EXIT_FAILURE, qui représente une valeur de 1. exit, _exit, _cexit, et _c_exit se comportent comme suit.

Fonction

Description

exit

Effectue des procédures d'arrêt complètes de la bibliothèque C, met fin au processus, et se ferme avec le code d'état fourni.

_exit

Effectue des procédures d'arrêt rapides de la bibliothèque C, met fin au processus, et se ferme avec le code d'état fourni.

_cexit

Effectue des procédures d'arrêt complètes de bibliothèque C et rétablit l'appelant, mais n'arrête pas le processus.

_c_exit

Effectue des procédures d'arrêt rapides de bibliothèque C et rétablit l'appelant, mais n'arrête pas le processus.

Lorsque vous appelez la fonction exit ou la fonction _exit, les destructeurs pour tout objet temporaire ou automatique qui existent au moment de l'appel ne sont pas appelés. Un objet automatique est défini au sein d'une fonction dans laquelle l'objet n'est pas déclaré statique. Un objet temporaire est un objet créé par le compilateur. Pour détruire un objet automatique avant d'appeler exit ou _exit, il faut explicitement appeler le destructeur de l'objet, comme suit :

myObject.myClass::~myClass();

N'utilisez pas DLL_PROCESS_ATTACH pour appeler exit depuis DllMain. Si vous souhaitez quitter la fonction DLLMain, retournez FALSE depuis DLL_PROCESS_ATTACH.

Configuration requise

Fonction

En-tête requis

exit

<process.h> ou <stdlib.h>

_exit

<process.h> ou <stdlib.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

Exemple

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

Équivalent .NET Framework

System::Diagnostics::Process::Kill

Voir aussi

Référence

Contrôle de processus et d'environnement

abort

atexit

_cexit, _c_exit

_exec, _wexec, fonctions

_onexit, _onexit_m

_spawn, _wspawn, fonctions

system, _wsystem