Process groups and sessions form a two-level hierarchical relationship between processes: a process group is a collection of related processes, and a session is a collection of related process groups. The meaning of the term related in each case is explained in the course of this chapter.
Process groups and sessions are abstractions defined to support shell job control, which allows interactive users to run commands in the foreground or in the background. The term job is often used synonymously with the term process group.
This chapter describes process groups, sessions, and job control.
34 Process Groups, Sessions, and Job Control
34.2 Process Groups
34.4 Controlling Terminals and Controlling Processes
34.5 Foreground and Background Process Groups
34.6 The SIGHUP Signal
34.6.1 Handling of SIGHUP by the Shell
34.6.2 SIGHUP and Termination of the Controlling Process
34.7 Job Control
34.7.1 Using Job Control within the Shell
34.7.2 Implementing Job Control
34.7.3 Handling Job-control Signals
34.7.4 Orphaned Process Groups (and SIGHUP Revisited)