Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

_exit(2) [ultrix man page]

exit(2) 							System Calls Manual							   exit(2)

Name
       _exit - terminate a process

Syntax
       #include <stdlib.h>
       void _exit(status)
       int status;

Description
       The function, terminates a calling process with the following consequences:

       o    All of the file descriptors open in the calling process are closed.

       o    If	the  parent  process  of  the calling process is executing a it is notified of the calling process's termination and the low-order
	    eight bits of status are made available to it.  For further information, see

       o    The parent process ID of all of the calling process's existing child processes and zombie processes are also set  to  1.   This  means
	    that the initialization process inherits each of these processes as well.  For further information, see

       o    Each  attached  shared memory segment is detached and the value of shm_nattach in the data structure associated with its shared memory
	    identifier is decremented by 1.

       o    For each semaphore for which the calling process has set a semadj value, (see ) that semadj value is added to the semval of the speci-
	    fied semaphore.

       o    If the process has a process, text, or data lock, an unlock is performed.

       o    An accounting record is written on the accounting file if the system's accounting routine is enabled. For more information, see

       Calling	directly  circumvents  all  cleanup.   Most C programs call the library routine which performs cleanup actions in the standard I/O
       library before calling

Environment
   POSIX, System V
       The function differs from the System V as well as POSIX definition in that even if the calling process  is  a  process  group  leader,  the
       SIGHUP signal is not sent to each process that has a process group ID equal to that of the calling process.

       The function also differs in that the routine is declared as type int instead of type void.

See Also
       fork(2), wait(2), exit(3), signal(3).

																	   exit(2)

Check Out this Related Man Page

exit(2) 							System Calls Manual							   exit(2)

NAME
exit(), _exit(), _Exit() - terminate a process SYNOPSIS
Parameters status The values of status can be or as described in or any other value, although only the least significant 8 bits (that is, status is available to a waiting parent process. DESCRIPTION
The function first calls all functions registered by in the reverse order of their registration. Each function is called as many times as it was registered. If a function registered by a call to fails to return, the remaining registered functions are called and the rest of the processing is not completed. terminates the calling process and passes status to the system for inspection {see wait(2)}. Returning from main in a C program has the same effect as the status value is the function value returned by main (this value is undefined if main does not take care to return a value or to call explicitly). If the calling process is multithreaded, all threads/lightweight process in the process will be terminated. cannot return to its caller. The result of an call during exit processing is undefined. The functions and are equivalent, except that calls functions registered by and flushes standard I/O buffers, while does not. The function is equivalent to The functions and terminate the calling process with the following consequences. The exact order of these consequences is unspecified. All file descriptors, directory streams, conversion descriptors, and message catalog descriptors open in the calling process are closed. All files created by are removed (see tmpfile(3S)). If the parent process of the calling process is executing a or it is notified of the calling process's termination, and the low- order eight bits; i.e., bits 0377 of status are made available to it (see wait(2)). If the parent process of the calling process is not executing a or and does not have set to the calling process is transformed into a zombie process. A zombie process is a process that only occupies a slot in the process table. It has no other space allocated either in user or kernel space. Time accounting information is recorded for use by (see times(2)). The parent process ID is set to the process ID of the initialization process (aka for all of the calling process's existing child processes and zombie processes. This means the initialization process inherits each of these processes. Threads/LWPs terminated by a call to shall not invoke their cancellation cleanup handlers or their thread specific data destructor functions. Each attached shared memory segment is detached and the value of in the data structure associated with its shared memory identifier is decremented by 1 (see shmop(2)). For each semaphore for which the calling process has set a semadj value (see semop(2)), that semadj value is added to the value of the specified semaphore. If the process has a process, text, or data lock, an is performed, see plock(2). An accounting record is written on the accounting file if the system's accounting routine is enabled (see acct(2)). A signal is sent to the parent process. If the calling process is a controlling process, the signal is sent to each process in the foreground process group of the control- ling terminal belonging to the calling process. The controlling terminal associated with the session is disassociated from the ses- sion, allowing it to be acquired by a new controlling process. If the exit of the calling process causes a process group to become orphaned, and if any member of the newly-orphaned process group is stopped, all processes in the newly-orphaned process group are sent and signals. If the current process has any child processes that are being traced, they are sent a signal. AUTHOR
was developed by HP, AT&T, and the University of California, Berkeley. and were developed by HP. SEE ALSO
sh(1), acct(2), close(2), plock(2), semop(2), shmget(2), shmop(2), sigaction(2), times(2), vfork(2), wait(2), wait3(2), waitpid(2) atexit(3), fclose(3), pthread_cancel(3T), pthread_exit(3T), pthread_key_create(3T), signal(5). See exit conditions STANDARDS CONFORMANCE
exit(2)
Man Page