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

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)