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)