Provided by:
manpages-es_1.55-10_all 
NOMBRE
exit - produce la terminacion normal del programa
SINOPSIS
#include <stdlib.h>
void exit(int status);
DESCRIPCI'ON
La funcion exit produce la terminacion normal del programa y la
devolucion de status & 0377 al proceso padre (vease wait(2)). Antes,
se llama a todas las funciones registradas con atexit() y on_exit() en
orden inverso a su registro, y todos los flujos abiertos se vuelcan y
cierran. Los ficheros creados por tmpfile() son eliminados.
El estandar C especifica dos constantes EXIT_SUCCESS y EXIT_FAILURE que
pueden ser pasadas a exit() para indicar una terminacion con o sin
exito, respectivamente.
VALOR DEVUELTO
La funcion exit() no devuelve nada ni regresa.
CONFORME A
SVID 3, POSIX, BSD 4.3, ISO 9899 (``ANSI C'')
OBSERVACIONES
Durante el procesamiento de exit, es posible registrar funciones
adicionales con atexit() y on_exit(). Siempre se elimina de la cadena
de funciones registradas la ultima funcion registrada, y se invoca.
Queda indefinido lo que pasa si durante este procesamiento se llama o
bien a exit() o bien a longjmp().
El uso de EXIT_SUCCESS y EXIT_FAILURE es ligeramente mas portable (para
entornos no Unix) que el de 0 y algun valor distinto de cero como 1 o
-1. En particular, VMS usa una convencion diferente.
BSD ha intentado estandarizar codigos de salida - vease el fichero
<sysexits.h>.
Despues de exit(), el estado de salida debe ser transmitido al proceso
padre. Se presentan tres casos. Si el padre tiene definido
SA_NOCLDWAIT, o bien ha puesto como manejador de SIGCHLD a SIG_IGN, el
estado se desecha. Si el padre estaba esperando al hijo se le notifica
el estado de salida. En ambos casos el proceso que hace la llamada
muere inmediatamente. Si el padre no ha indicado que no esta interesado
en el estado de salida, pero no se encuentra esperando, el proceso que
termina se convierte en un proceso "zombie" (que no es sino un
contenedor para el byte unico que representa el estado de salida) por
lo que el padre puede enterarse del estado de salida cuando llame mas
tarde a una de las funciones wait().
Si la implementacion soporta la senal SIGCHLD, se envia esta senal al
padre. Si el padre tiene definido SA_NOCLDWAIT, es indefinido si se
envia esta senal SIGCHLD.
Si el grupo es lider de un grupo de procesos y su terminal de control
es la terminal de control de la sesion, cada proceso que este en primer
plano dentro del grupo de procesos de esta terminal de control recibe
una senal SIGHUP, y la terminal se desvincula de la sesion, permitiendo
ser adquirida por un nuevo proceso controlador.
Si la salida del proceso provoca que un grupo de procesos se quede
huerfano, y si cualquier miembro del grupo de procesos que se acaba de
quedar huerfano es parado, se envia una senal SIGHUP seguida de una
senal SIGCONT a cada proceso del grupo de procesos.
V'EASE TAMBI'EN
_exit(2), wait(2), atexit(3), on_exit(3), tmpfile(3)