$linuxjunkies
>

process group

also: PGID, process group ID

A collection of related processes that share the same process group ID (PGID), allowing them to be managed together as a unit for job control and signal delivery.

A process group is a mechanism in Unix/Linux for organizing multiple processes into a logical unit. All processes in a group share the same numeric process group ID (PGID), which allows the shell and kernel to manage them collectively.

Process groups are primarily used for job control—the ability to suspend, resume, or terminate multiple related processes at once. For example, when you run a command like find / -name '*.txt' | grep important, the shell creates a process group containing both the find and grep processes, allowing you to pause the entire pipeline with Ctrl+Z or send signals to all of them together.

You can view a process's group ID using ps -o pgid, and a process can create a new group with setpgid(). Signals sent to a process group (like SIGTERM) affect all members. The foreground process group of a terminal receives signals from keyboard shortcuts like Ctrl+C.

Related terms