Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for exit (redhat section 3)

EXIT(3) 			    Linux Programmer's Manual				  EXIT(3)

NAME
       exit - cause normal program termination

SYNOPSIS
       #include <stdlib.h>

       void exit(int status);

DESCRIPTION
       The  exit()  function causes normal program termination and the the value of status & 0377
       is returned to the parent (see wait(2)).   All  functions  registered  with  atexit()  and
       on_exit()  are called in the reverse order of their registration, and all open streams are
       flushed and closed.  Files created by tmpfile() are removed.

       The C standard specifies two defines EXIT_SUCCESS and EXIT_FAILURE that may be  passed  to
       exit() to indicate successful or unsuccessful termination, respectively.

RETURN VALUE
       The exit() function does not return.

CONFORMING TO
       SVID 3, POSIX, BSD 4.3, ISO 9899 (``ANSI C'')

NOTES
       During  the exit processing, it is possible to register additional functions with atexit()
       and on_exit().  Always the last-registered function is removed from the	chain  of  regis-
       tered  functions,  and  invoked.   It  is undefined what happens if during this processing
       either exit() or longjmp() is called.

       The use of EXIT_SUCCESS and EXIT_FAILURE is slightly more portable (to  non-Unix  environ-
       ments)  than that of 0 and some nonzero value like 1 or -1. In particular, VMS uses a dif-
       ferent convention.

       BSD has attempted to standardize exit codes - see the file <sysexits.h>.

       After exit(), the exit status must be transmitted to the parent process. There  are  three
       cases.  If the parent has set SA_NOCLDWAIT, or has set the SIGCHLD handler to SIG_IGN, the
       status is discarded. If the parent was waiting on the child it is  notified  of	the  exit
       status.	In  both  cases the exiting process dies immediately. If the parent has not indi-
       cated that it is not interested in the exit  status,  but  is  not  waiting,  the  exiting
       process	turns  into  a	"zombie" process (which is nothing but a container for the single
       byte representing the exit status) so that the parent can learn the exit  status  when  it
       later calls one of the wait() functions.

       If  the	implementation supports the SIGCHLD signal, this signal is sent to the parent. If
       the parent has set SA_NOCLDWAIT, it is undefined whether a SIGCHLD signal is sent.

       If the process is a session leader and its controlling terminal the  controlling  terminal
       of the session, then each process in the foreground process group of this controlling ter-
       minal is sent a SIGHUP signal, and the terminal is disassociated from this session, allow-
       ing it to be acquired by a new controlling process.

       If the exit of the process causes a process group to become orphaned, and if any member of
       the newly-orphaned process group is stopped, then a SIGHUP signal followed  by  a  SIGCONT
       signal will be sent to each process in this process group.

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

					    2001-11-17					  EXIT(3)


All times are GMT -4. The time now is 06:22 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password