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