Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
EXIT(2) 		       System Calls Manual			 EXIT(2)

NAME
     _exit -- terminate the calling process

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <unistd.h>

     void
     _exit(int status);

DESCRIPTION
     The  _exit()  system  call  terminates  a process with the following conse-
     quences:

     *	 All of the descriptors open in the calling process  are  closed.   This
	 may  entail delays, for example, waiting for output to drain; a process
	 in this state may not be killed, as it is already dying.

     *	 If the parent process of the calling process has an outstanding wait(2)
	 call or catches the SIGCHLD signal,  it  is  notified	of  the  calling
	 process's termination and the status is set as defined by wait(2).

     *	 The  parent  process-ID  of all of the calling process's existing child
	 processes are set to the process-ID of the  calling  process's  reaper;
	 the reaper (normally the initialization process) inherits each of these
	 processes (see procctl(2), init(8) and the "DEFINITIONS" section of in-
	 tro(2)).

     *	 If  the  termination  of the process causes any process group to become
	 orphaned (usually because the parents of all members of the group  have
	 now  exited; see "orphaned process group" in intro(2)), and if any mem-
	 ber of the orphaned group is stopped, the SIGHUP signal and the SIGCONT
	 signal are sent to all members of the newly-orphaned process group.

     *	 If the process is a controlling process (see intro(2)), the SIGHUP sig-
	 nal is sent to the foreground process group of the  controlling  termi-
	 nal, and all current access to the controlling terminal is revoked.

     Most  C  programs	call the library routine exit(3), which flushes buffers,
     closes streams, unlinks temporary files, invokes atexit(3) handlers,  etc.,
     before calling _exit().

RETURN VALUES
     The _exit() system call can never return.

SEE ALSO
     fork(2), sigaction(2), wait(2), atexit(3), exit(3), init(8)

STANDARDS
     The  _exit()  system  call  is  expected  to conform to ISO/IEC 9945-1:1990
     ("POSIX.1").

HISTORY
     The _exit() function appeared in Version 7 AT&T UNIX.

FreeBSD ports 15.quarterly	 March 31, 2026 			 EXIT(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=_exit&sektion=2&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help