_exit(2) Produce la terminación del proceso actual

Other Alias

_Exit

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.

CONFORME A

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.