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 will become clear 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.
A process group is a set of one or more processes sharing the same process group identifier (PGID). ...