_EXIT(2) | Manual del programador de Linux | _EXIT(2) |
_exit, _Exit - Produce la terminación del proceso actual
#include <unistd.h>
void _exit(int status);
#include <stdlib.h>
void _Exit(int status);
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.
Estas funciones nunca regresan.
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. La función _Exit() fue introducida por C99.
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.
fork(2), execve(2), waitpid(2), wait4(2), kill(2), wait(2), exit(3), termios(3)
17 noviembre 2001 | Linux |