| C standard library (libc) |
|---|
| General topics |
| Miscellaneous headers |
C process control refers to a group of functions in the standard library of the C programming language implementing basic process control operations. [1] [2] 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.
The process control functions are defined in the stdlib.h header (cstdlib header in C++).
| Function | Description | |
|---|---|---|
| Terminating a program | abort | causes abnormal program termination (without cleaning up) |
exit | causes normal program termination with cleaning up | |
_Exit | causes normal program termination without cleaning up (C99) | |
atexit | registers a function to be called on exit() invocation | |
quick_exit | causes normal program termination without cleaning up, but with IO buffers flushed (C11) | |
at_quick_exit | registers a function to be called on quick_exit() invocation | |
| Communicating with the environment | getenv | accesses the list of the environment variables |
system | calls the host environment's command processor |
The following is an example of communicating with the system environment in C.
#include<stdio.h>#include<stdlib.h>intmain(){char*path=getenv("PATH");if(!path){fprintf(stderr,"PATH environment variable not found.\n");}else{printf("PATH variable: %s\n",path);}printf("Listing current directory contents using system(\"ls\"):\n");intret=system("ls");if(ret==-1){fprintf(stderr,"system() call failed!");}return0;}{{cite book}}: CS1 maint: location (link)