Linux Process Management
Linux process management is how you inspect, prioritize, signal, and supervise running programs. The kernel tracks each task and schedules CPU time, while tools such as ps and service managers turn that state into operational controls.
itLinux | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic - Linux Process Management
A Linux process is a running program represented by kernel-managed state: an identifier, credentials, memory mappings, open files, signal settings, scheduling attributes, and one or more threads. The scheduler selects runnable threads for CPUs. User-space tools inspect and change that state through system calls.
Process management is a control loop: identify the correct task, inspect its state and relationships, choose the least disruptive action, then verify the result. A PID is useful until reuse after exit. Names are ambiguous when several processes share an executable. Act on relationships such as PPID, process groups, and cgroups when identity is unclear.
The common lifecycle uses fork() (or related calls) to create a child with a
separate address space, then execve() to replace the image while keeping the
PID. Parents and children form a tree. Process groups and sessions organize
signal delivery and terminal job control. Signals request actions; some can be
caught or ignored, and some terminate immediately.
Scheduling attributes and resource controls decide which threads run when CPUs contend. Zombies remain until a parent reaps them and can exhaust PID space without burning CPU. Uninterruptible sleep usually points at I/O or kernel waits rather than a signal you can send from the shell.
Read the Intro for the lifecycle and identity rules. Use the Cheatsheet when you need the signal and scheduler maps. Landscape and Timeline place process tools among related Linux administration topics; Updates tracks kernel.org releases that change these interfaces. Verify after every signal or priority change.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.man7.org/linux/man-pages/man2/fork.2.html
Supports
- Child-process creation, inheritance, copy-on-write behavior, and limits
- Process lifecycle explanation and quiz grounding
- https://man7.org/linux/man-pages/man2/execve.2.html
Supports
- Program-image replacement and retained process identity
- Signal and process attributes across exec
- https://www.man7.org/linux/man-pages/man2/wait.2.html
Supports
- Child-state collection, exit status, waitable states, and zombies
- https://man7.org/linux/man-pages/man7/signal.7.html
Supports
- Signal delivery, masks, dispositions, targets, and default actions
- SIGKILL and SIGSTOP behavior
- https://www.man7.org/linux/man-pages/man1/ps.1.html
Supports
- Snapshot behavior, selection and output fields, threads, and state codes
- https://docs.kernel.org/filesystems/proc.html
Supports
- Per-process procfs structure, status, statistics, file descriptors, and access behavior
- https://man7.org/linux/man-pages/man5/proc_pid_status.5.html
Supports
- Human-readable process identity, memory, capability, and signal fields
- https://man7.org/linux/man-pages/man5/proc_pid_stat.5.html
Supports
- Machine-oriented process state and scheduling fields
- https://man7.org/linux/man-pages/man7/sched.7.html
Supports
- Normal, real-time, and deadline policies, priorities, nice values, and affinity
- https://man7.org/linux/man-pages/man2/getpriority.2.html
Supports
- Nice-value range, privilege rules, and per-thread Linux behavior
- https://www.man7.org/linux/man-pages/man7/cgroups.7.html
Supports
- Hierarchical process grouping, controllers, inheritance, and history
- Linux 2.6.24 initial cgroups and Linux 3.2 CPU bandwidth milestones
- https://docs.kernel.org/admin-guide/cgroup-v2.html
Supports
- Unified cgroup hierarchy and resource-distribution model
- https://www.man7.org/linux/man-pages/man7/pid_namespaces.7.html
Supports
- PID isolation, nested visibility, namespace PID 1, adoption, and procfs views
- https://www.man7.org/linux/man-pages/man2/clone.2.html
Supports
- Task creation options and Linux 2.6.24 CLONE_NEWPID milestone
- https://man7.org/linux/man-pages/man2/pidfd_open.2.html
Supports
- Process file descriptors, polling, and Linux 5.3 history
- https://man7.org/tlpi/api_changes/
Supports
- September 2019 pidfd and clone3 process API milestone
- https://docs.kernel.org/scheduler/sched-design-CFS.html
Supports
- CFS virtual-runtime model and Linux 2.6.23 merge
- https://docs.kernel.org/scheduler/sched-eevdf.html
Supports
- EEVDF eligible-task, lag, and virtual-deadline model
- Linux 6.6 scheduler transition
- https://www.kernel.org/releases.html
Supports
- Linux 6.6 release date
- https://www.kernel.org/pub/linux/kernel/v2.6/
Supports
- Linux 2.6.0 release date
- https://www.kernel.org/doc/ols/2003/ols2003-pages-285-296.pdf
Supports
- Linux 2.5 O(1) scheduler model carried into the 2.6 generation
- https://kernelnewbies.org/Linux_4.5
Supports
- March 2016 Linux 4.5 release and stable cgroup unified hierarchy
- https://wiki.freedesktop.org/www/Software/systemd/
Supports
- PID 1 service management, cgroup process tracking, activation, and dependency behavior
- https://www.freedesktop.org/software/systemd/man/latest/systemctl.html
Supports
- Unit status, lifecycle, signal, and property operations
- https://github.com/sindresorhus/awesome
Supports
- Discovery of the Awesome Sysadmin list
- https://github.com/awesome-foss/awesome-sysadmin
Supports
- Discovery of Glances, Monit, Cockpit, and Healthchecks
- https://glances.readthedocs.io/en/latest/aoa/ps.html
Supports
- Process states, task and thread counts, sorting, filtering, I/O, and signal actions
- Awesome Links and Landscape placement for Glances
- https://mmonit.com/monit/documentation/monit.html
Supports
- Process checks, resource conditions, alerts, and lifecycle actions
- Awesome Links and Landscape placement for Monit
- https://docs.oracle.com/en/operating-systems/oracle-linux/cockpit/cockpit-services.html
Supports
- Cockpit service inspection and systemd-backed lifecycle actions
- Awesome Links and Landscape placement for Cockpit
- https://healthchecks.io/docs/
Supports
- Heartbeat monitoring for cron jobs, background workers, and scheduled tasks
- Awesome Links rationale for Healthchecks.io
- https://supervisord.org/
Supports
- Project-level process supervision, states, signals, logging, and control
- Landscape placement for Supervisor
- https://pm2.io/docs/runtime/guide/process-management/
Supports
- Named process lists and start, stop, restart, delete, save, and resurrect operations
- Landscape placement for PM2
- https://htop.dev/
Supports
- Interactive process viewer role and Landscape placement for htop
- https://github.com/aristocratos/btop
Supports
- Resource panels, selected-process detail, and process signal actions
- Landscape placement for btop
