.\" Copyright (C) 2001 Andries Brouwer . .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Modified Sat Jul 24 19:43:49 1993 by Rik Faith (faith@cs.unc.edu) .\" Added a fix from urs@isnogud.escape.de (Urs Thuermann), aeb 950722 .\" Translated into Spanish Fri 9 Jan 1998 by Gerardo Aburruzaga .\" García .\" Traducción revisada por Miguel Pérez Ibars el 14-febrero-2005 .\" .TH EXIT 3 "17 noviembre 2001" "GNU" "Manual del Programador de Linux" .SH NOMBRE exit \- produce la terminación normal del programa .SH SINOPSIS .nf .B #include .sp .BI "void exit(int " status ); .fi .SH DESCRIPCIÓN La función \fBexit\fP produce la terminación normal del programa y la devolución de \fIstatus & 0377\fP al proceso padre (véase .BR wait(2)). Antes, se llama a todas las funciones registradas con \fBatexit()\fP y \fBon_exit()\fP en orden inverso a su registro, y todos los flujos abiertos se vuelcan y cierran. Los ficheros creados por \fItmpfile()\fP son eliminados. .LP El estándar C especifica dos constantes \fIEXIT_SUCCESS\fP y \fIEXIT_FAILURE\fP que pueden ser pasadas a \fBexit()\fP para indicar una terminación con o sin éxito, respectivamente. .SH "VALOR DEVUELTO" La función \fBexit()\fP no devuelve nada ni regresa. .SH "CONFORME A" SVID 3, POSIX, BSD 4.3, ISO 9899 (``ANSI C'') .SH OBSERVACIONES Durante el procesamiento de exit, es posible registrar funciones adicionales con \fBatexit()\fP y \fBon_exit()\fP. 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 \fBexit()\fP o bien a \fBlongjmp()\fP. .LP 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. .LP BSD ha intentado estandarizar códigos de salida - véase el fichero .IR . .LP Después de \fBexit()\fP, 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 \fIwait()\fP. .LP 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. .LP 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. .LP 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. .SH "VÉASE TAMBIÉN" .BR _exit (2), .BR wait (2), .BR atexit (3), .BR on_exit (3), .BR tmpfile (3)