C process control: Difference between revisions

Content deleted Content added
moved
Shorten Short description per WP:SDSHORT
 
(23 intermediate revisions by 18 users not shown)
Line 1:
{{Short description|Functions of the C standard software library}}
 
{{Use dmy dates|date=January 2022}}
{{C Standard Library}}
 
'''C process control''' refers to a group of functions in the [[C standard library|standard library]] of the [[C programming language]] implementing basic process control operations.<ref>{{cite book|last=Crawford|first=Tony|coauthorsauthor2=Peter Prinz|title=C in a Nutshell|publisher=O'Reilly|___location=§16.11 - ''Process Control''|date=December 2005|pages=618|isbn=0-596-00697-7}}</ref><ref>{{cite book | url=http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf | title=ISO/IEC 9899:1999 specification | at=p. 315, § 7.20.4 "Communication with the environment" | accessdate=25 November 2011}}</ref> The process control operations include actions such as termination of the program with various levels of cleanup, running an external command interpreter or accessing the list of the environment operations.
 
==Overview of functions==
Line 8 ⟶ 9:
The process control functions are defined in the <code>stdlib.h</code> header (<code>cstdlib</code> header in C++).
 
{| class="wikitable" style="font-size:0.85em"
; Terminating a program
!
*{{anchor|abort}}<code>[http://en.cppreference.com/w/cpp/utility/program/abort abort]</code> - causes abnormal program termination (without cleaning up)
! Function
*{{anchor|exit}}<code>[http://en.cppreference.com/w/cpp/utility/program/exit exit]</code> - causes normal program termination with cleaning up
! Description
*{{anchor|_Exit}}<code>[http://en.cppreference.com/w/cpp/utility/program/_Exit _Exit]</code> - causes normal program termination without cleaning up
|-
*{{anchor|atexit}}<code>[http://en.cppreference.com/w/cpp/utility/program/atexit atexit]</code> - registers a function to be called on exit() invocation
;! rowspan=6 | Terminating <br>a program
 
*| {{anchor|abort}}<code>[http://en.cppreference.com/w/cpp/utilityc/program/abort abort]</code> - causes abnormal program termination (without cleaning up)
; Communicating with the environment
| causes abnormal program termination (without cleaning up)
*{{anchor|getenv}}<code>[http://en.cppreference.com/w/cpp/utility/program/getenv getenv]</code> - accesses the list of the environment variables
|-
*{{anchor|system}}<code>[http://en.cppreference.com/w/cpp/utility/program/system system]</code> - calls the host environment's command processor
*| {{anchor|exit}}<code>[http://en.cppreference.com/w/cpp/utilityc/program/exit exit]</code> - causes normal program termination with cleaning up
| causes normal program termination with cleaning up
|-
*| {{anchor|_Exit}}<code>[http://en.cppreference.com/w/cpp/utilityc/program/_Exit _Exit]</code> - causes normal program termination without cleaning up
| causes normal program termination without cleaning up ([[C99]])
|-
*| {{anchor|atexit}}<code>[http://en.cppreference.com/w/cpp/utilityc/program/atexit atexit]</code> - registers a function to be called on exit() invocation
| registers a function to be called on exit() invocation
|-
| {{anchor|quick_exit}}<code>[http://en.cppreference.com/w/c/program/quick_exit quick_exit]</code>
| causes normal program termination without cleaning up, but with IO buffers flushed ([[C11 (C standard revision)|C11]])
|-
| {{anchor|quick_exit}}<code>[http://en.cppreference.com/w/c/program/at_quick_exit at_quick_exit]</code>
| registers a function to be called on quick_exit() invocation
|-
;! rowspan=2 | Communicating with <br>the environment
*| {{anchor|getenv}}<code>[http://en.cppreference.com/w/cpp/utilityc/program/getenv getenv]</code> - accesses the list of the environment variables
| accesses the list of the environment variables
|-
*| {{anchor|system}}<code>[http://en.cppreference.com/w/cpp/utilityc/program/system system]</code> - calls the host environment's command processor
| calls the host environment's command processor
|}
 
==References==
Line 22 ⟶ 45:
 
==External links==
{{wikibooks|C Programming|C program control operations|C Programming/C Reference}}
{{clear}}
 
[[Category:C Standard Library]]
 
{{prog-lang-stub}}
 
[[Category:C Standardstandard Librarylibrary]]
[[es:Stdlib.h]]
[[fa:Stdlib.h]]
[[ko:Stdlib.h]]
[[it:Stdlib.h]]
[[pt:Stdlib.h]]
[[ru:Stdlib.h]]