With the introduction of threads in the operating system, several process subroutines have been extended and other subroutines have been added. Threads, not processes, are now the schedulable entity. For signals, the handler exists at the process level, but each thread can define a signal mask. Some examples of changed or new subroutines are: getprocs, getthrds, ptrace, getpri, setpri, yield and sigprocmask.
exec:, execl, execv, execle, execve, execlp, execvp, or exect | |
Executes new programs in the calling process. | |
fork or vfork | Creates a new process. |
reboot | Restarts the system. |
siginterrupt | Sets subroutines to restart when they are interrupted by specific signals. |
pause | Suspends a process until that process receives a signal. |
wait, wait3, waitpid | Suspends a process until a child process stops or terminates. |
abort | Terminates current process and produces a memory dump by sending a SIGOT signal. |
exit, atexit, or _exit | Terminates a process. |
kill or killpg | Terminates current process or group of processes with a signal. |
ctermid | Gets the path name for the terminal that controls the current process. |
cuserid | Gets the alphanumeric user name associated with the current process. |
getpid, getpgrp, or getppid | Gets the process ID, process group ID, and the parent process ID. |
getprocs | Gets process table entries. |
getthrds | Gets thread table entries. |
setpgid or setpgrp | Sets the process group ID. |
setsid | Creates a session and sets process group IDs. |
uname or unamex | Gets the names of the current operating system. |
acct | Enables and disables process accounting. |
ptrace | Traces the execution of a process. |
brk or sbrk | Changes data segment space allocation. |
getdtablesize | Gets the descriptor table size. |
getrlimit, setrlimit, or vlimit | Limits the use of system resources by current process. |
getrusage, times, or vtimes | Displays information about resource use. |
plock | Locks processes, text, and data into memory. |
profil | Starts and stops program address sampling for execution profiling. |
ulimit | Sets user process limits. |
getpri | Returns the scheduling priority of a process. |
getpriority, setpriority, or nice | Gets or sets the priority value of a process. |
setpri | Sets a process scheduling priority to a constant value. |
yield | Yields the processor to processes with higher priorities. |
compare_and_swap | Conditionally updates or returns a single word variable atomically. |
fetch_and_add | Updates a single word variable atomically. |
fetch_and_and and fetch_and_or | Sets or clears bits in a single word variable atomically. |
semctl | Controls semaphore operations. |
semget | Gets a set of semaphores. |
semop | Performs semaphore operations. |
raise | Sends a signal to an executing program. |
sigaction, sigvec, or signal | Specifies the action to take upon delivery of a signal. |
sigemptyset, sigfillset, sigaddset, sigdelset, or sigismember | |
Creates and manipulates signal masks. | |
sigpending | Determines the set of signals that are blocked from delivery. |
sigprocmask, sigsetmask, or sigblock | Sets signal masks. |
sigset, sighold, sigrelse, or sigignore | Enhances the signal facility and provides signal management. |
sigsetjmp or siglongjmp | Saves and restores stack context and signal masks. |
sigstack | Sets signal stack context. |
sigsuspend | Changes the set of blocked signals. |
ssignal or gsignal | Implements a software signal facility. |
msgctl | Provides message control operations. |
msgget | Displays a message queue identifier. |
msgrcv | Reads messages from a queue. |
msgsnd | Sends messages to the message queue. |
msgxrcv | Receives an extended message. |
psignal | Printing system signal messages. |