Provided by: manpages-es_1.55-10_all bug

NOMBRE

       exit - produce la terminación normal del programa

SINOPSIS

       #include <stdlib.h>

       void exit(int status);

DESCRIPCIÓN

       La  función  exit  produce  la terminación normal del programa y la devolución de status &
       0377 al proceso padre (véase 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 estándar C especifica dos constantes EXIT_SUCCESS y EXIT_FAILURE que pueden ser pasadas
       a exit() para indicar una terminación con o sin éxito, respectivamente.

VALOR DEVUELTO

       La función 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  última  función
       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 más portable (para entornos no  Unix)
       que  el  de  0  y  algún  valor  distinto  de cero como 1 o -1. En particular, VMS usa una
       convención diferente.

       BSD ha intentado estandarizar códigos de salida - véase el fichero <sysexits.h>.

       Después 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 está 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 único que representa el estado de  salida)  por
       lo  que  el padre puede enterarse del estado de salida cuando llame más tarde a una de las
       funciones wait().

       Si la implementación soporta la señal SIGCHLD, se envía esta señal al padre. Si  el  padre
       tiene definido SA_NOCLDWAIT, es indefinido si se envía esta señal SIGCHLD.

       Si  el  grupo  es líder de un grupo de procesos y su terminal de control es la terminal de
       control de la sesión, cada proceso que esté en primer plano dentro del grupo  de  procesos
       de  esta  terminal  de  control recibe una señal SIGHUP, y la terminal se desvincula de la
       sesión, permitiendo ser adquirida por un nuevo proceso controlador.

       Si la salida del proceso provoca que  un  grupo  de  procesos  se  quede  huérfano,  y  si
       cualquier  miembro  del  grupo  de  procesos que se acaba de quedar huérfano es parado, se
       envía una señal SIGHUP seguida de una señal SIGCONT a cada proceso del grupo de procesos.

VÉASE TAMBIÉN

       _exit(2), wait(2), atexit(3), on_exit(3), tmpfile(3)