Linux |
CentOS 4.8 |
|
exit(2) |
_exit, _Exit − Mettre fin au processus en cours d’exécution. |
#include <unistd.h> void _exit (int code); #include <stdlib.h> void _Exit (int code); |
LK fonction _exit met fin immédiatement au processus en cours, les descripteurs de fichiers lui appartenant sont fermés, tous ses fils éventuels sont hérités par le processus 1 (init), et son père reçoit un signal SIGCHLD. La valeur code est renvoyée au processus père comme valeur de sortie et peut être récupérée en utilisant un appel-système de la famille wait. La fonction _Exit est équivalente à _exit. |
Ces fonctions ne reviennent jamais. |
SVr4, SVID, POSIX, X/OPEN, BSD 4.3 La fonction _Exit() a été introduite par C99. |
Pour une discussion sur les effets de exit, la transmission de la valeur de retour, les processus zombie, les signaux envoyés, etc. reportez-vous à exit(3). _exit n’appelle aucune fonction programmée par la fonction atexit(3) du C ANSI, ni aucun gestionnaire de signal. Le fait qu’elle vide ou non les buffers d’entrée-sortie, ou qu’elle efface les fichiers temporaires créés avec tmpfile(3). dépend de l’implémentation. En revanche, _exit ferme les descripteurs de fichiers, ce qui peut retarder son exécution durant le temps où des écritures se terminent. Si ce retard est génant, on peut invoquer tcflush() avant _exit(). Savoir si certaines entrées/sorties en attente sont annulées et lesquelles lors d’un _exit() dépend de l’implémentation. |
fork(2), execve(2), waitpid(2), wait4(2), kill(2), wait(2), exit(3), termios(3). |
Christophe Blaess, 1997. |
exit(2) |