Search⌘ K

Process Control and Users

Explore how UNIX process APIs like fork(), exec(), and wait() enable process management. Understand signal handling with kill() and control commands. Discover user permissions in sending signals, ensuring secure process control in multi-user systems. Learn to read man pages for deeper insight into UNIX process interactions.

Sending signals to a process

Beyond fork(), exec(), and wait(), there are a lot of other interfaces for interacting with processes in UNIX systems. For example, the kill() system call is used to send signals to a process, including directives to pause, die, and other useful imperatives. For convenience, in most UNIX shells, certain keystroke combinations are configured to deliver a specific signal to the currently running process; for example, control-c sends a SIGINT (interrupt) to the process (normally terminating it) and control-z sends a SIGTSTP (stop) signal thus pausing the process in mid-execution (you can resume it later with a command, e.g., the ...