NOMBRE¶
_exit, _Exit - Produce la terminación del proceso actual
SINOPSIS¶
#include <unistd.h>
void _exit(int status);
#include <stdlib.h>
void _Exit(int status);
DESCRIPCIÓN¶
La función
_exit termina "inmediatamente" la
ejecución del proceso invocador. Todos los descriptores de ficheros
abiertos que pertenezcan al proceso se cierran; todos los procesos hijos son
heredados por el proceso 1, init, y al proceso padre se le envía la
señal
SIGCHLD.
El valor
status se le devuelve al proceso padre como estado de
terminación del proceso, y se puede leer mediante una de las funciones
de la familia de
wait.
La función
_Exit es equivalente a
_exit.
VALOR DEVUELTO¶
Estas funciones nunca regresan.
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. La función
_Exit() fue
introducida por C99.
OBSERVACIONES¶
Para una discusión sobre los efectos de una llamada exit, la
transmisión de estados de salida, procesos zombie, señales
enviadas, etc., vea
exit(3).
La función
_exit hace lo mismo que
exit(), pero no llama a
ninguna función registrada con la función
atexit del ANSI
C, ni a ningún manejador de señales registrado. Que la
función vacíe los buffers estándar de E/S y elimine los
ficheros temporales creados con
tmpfile(3) depende de la
implementación. Por otra parte,
_exit no cierra los descriptores
de fichero abiertos, y ésto puede provocar un retardo desconocido, a la
espera de finalizar cualquier salida pendiente. Si el retardo es no deseado,
podría ser util llamar a funciones tales como
tcflush() antes de
llamar a
_exit(). Que cualquier petición de E/S pendiente sea
cancelada, y qué petición de E/S puede ser cancelada en una
llamada
_exit() depende de la implementación.
VÉASE TAMBIÉN¶
fork(2),
execve(2),
waitpid(2),
wait4(2),
kill(2),
wait(2),
exit(3),
termios(3)