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)