Process
A running program with its own memory, environment, and identity.
A process is an instance of a running program, with its own memory space, its own copy of the environment it inherited, and a numeric identity. Processes form a tree: each is spawned by a parent and can outlive it.
Working with them from a script has a few sharp edges.
Names are not what you think. The process name is the executable's name, which can differ from an application's display name — commonly by capitalization. A pattern matching the wrong one silently matches nothing, and a command that reports "stopped" without having stopped anything is worse than an error, because the next step proceeds on a false premise.
Substring matching is dangerous. A pattern intended for one program matches any command line containing it, including unrelated system processes whose names happen to include the substring. Matching the executable exactly is the safe form.
Something may restart it. A process under a supervisor comes back immediately when killed, so "stop" and "kill" are different operations: a clean quit exits successfully and stays down, while a signal looks like a crash and triggers a restart.
Diagnosing contention needs per-process detail rather than an aggregate load figure, which lags and never says which program is responsible. See Resource Starvation; Pressure Stall Information measures the waiting directly, per resource.
See also13
Truncation Bias
Reading a truncated result as if it were the whole result, so every counterexample is invisible.
Method28 connections
Shell
The interactive command interpreter, and a programming language with unusually sharp edges.
Systems & Tooling24 connections
Daemon
A long-running background process managed by the operating system's service supervisor.
Systems & Tooling19 connections
Port
The numeric endpoint a network service listens on, and a scarce shared resource on a developer machine.
Systems & Tooling19 connections
Observability
How much of a system's internal state can be inferred from what it emits.
Method32 connections
Instrumentation
Adding measurement to code so its execution can be observed, and the distortions that introduces.
Testing & Verification19 connections
Cron
Time-based scheduling of recurring jobs, and the reasons scheduled jobs quietly stop working.
Systems & Tooling19 connections
Vacuous Truth
A statement that holds only because its subject set is empty — a green result that measured nothing.
Method26 connections
Silent Failure
A failure that produces no signal, so the absence of an error reads as success.
Method73 connections
Web Server
The program that listens for HTTP requests and answers them with files or generated pages, from the first one at CERN in 1990 through Apache's long dominance to event-driven servers built to hold many thousands of connections at once.
Web Platform10 connections
Thread Pool
A fixed set of threads kept alive to run many short tasks from a queue, avoiding the cost of creating a thread per task and capping concurrency, with sizing rules and failure modes that shape how servers and runtimes behave under load.
Systems & Tooling10 connections
Inter-Process Communication
The channels separate processes use to exchange data and signals, from pipes and sockets to shared memory, a necessity because each process is walled off in its own memory and a frequent route for sandbox escapes.
Systems & Tooling13 connections
Connection Pool
A set of open database connections kept ready and lent out to requests, avoiding the cost of opening a new connection each time and capping load on the database.
Data & Content8 connections
Linked from26
- Actor ModelComputation & Algorithms
A concurrency model where isolated actors communicate only by asynchronous message, never by shared memory.
- Concurrency and ParallelismComputation & Algorithms
Concurrency is structuring independent tasks together; parallelism is actually running them at the same instant.
- Connection PoolData & Content
A set of open database connections kept ready and lent out to requests, avoiding the cost of opening a new connection each time and capping load on the database.
- Control GroupsSystems & Tooling
The Linux kernel feature that caps and accounts for a process group's CPU, memory, and I/O — the resource-limiting half of a container.
- Copy-on-WriteSystems & Tooling
Sharing a copy until the moment one side writes to it, deferring the cost of duplication until it's actually needed.
- CPU AffinitySystems & Tooling
Restricting which cores a thread may run on, which matters most on processors whose cores are not all alike.
- DaemonSystems & Tooling
A long-running background process managed by the operating system's service supervisor.
- Event LoopComputation & Algorithms
A single-threaded runtime's mechanism for pulling the next callback off a queue once the call stack is empty.
- Garbage CollectionComputation & Algorithms
A runtime automatically reclaiming memory occupied by objects nothing can reach anymore.
- Init SystemSystems & Tooling
The first userspace process a kernel starts, and the ancestor of every other process on the machine.
- InodeSystems & Tooling
The record a Unix filesystem keeps about a file's metadata and data location — everything except its name.
- Inter-Process CommunicationSystems & Tooling
The channels separate processes use to exchange data and signals, from pipes and sockets to shared memory, a necessity because each process is walled off in its own memory and a frequent route for sandbox escapes.
- KernelSystems & Tooling
The core of an operating system that runs with full hardware privileges, managing processes, memory, devices, and files on behalf of every other program.
- Linux NamespacesSystems & Tooling
The kernel feature that gives a process its own private view of a global resource — the foundation containers are built from.
- Out-of-Memory KillerSystems & Tooling
The kernel's last resort when memory is exhausted, killing a process chosen by heuristic, and the userspace daemons that act earlier with better judgment.
- PortSystems & Tooling
The numeric endpoint a network service listens on, and a scarce shared resource on a developer machine.
- PromiseWeb Platform
JavaScript's object for a value that will arrive later, how it replaced nested callbacks, and the microtask queue that decides when its handlers run.
- PseudoterminalSystems & Tooling
The kernel device pair that lets a terminal window, SSH session, or tmux pane pretend to be a 1970s hardware terminal, and why programs behave differently when they are not attached to one.
- Resource StarvationTesting & Verification
Failures caused by competition for a finite shared resource rather than by any defect.
- ShellSystems & Tooling
The interactive command interpreter, and a programming language with unusually sharp edges.
- SuperuserSystems & Tooling
The all-powerful root account on Unix systems, how sudo hands out its power temporarily, and why both attackers and good security design revolve around who gets it.
- SwapSystems & Tooling
Somewhere to put memory pages that are not being used, so RAM can go to pages that are, whether that place is a disk or a compressed region of RAM itself.
- System CallSystems & Tooling
The doorway through which a program asks the operating system kernel to do anything privileged, from reading a file to starting a process.
- Thread PoolSystems & Tooling
A fixed set of threads kept alive to run many short tasks from a queue, avoiding the cost of creating a thread per task and capping concurrency, with sizing rules and failure modes that shape how servers and runtimes behave under load.
- Virtual MemorySystems & Tooling
Giving every process its own private address space that the kernel maps onto physical memory page by page, on demand.
- Web ServerWeb Platform
The program that listens for HTTP requests and answers them with files or generated pages, from the first one at CERN in 1990 through Apache's long dominance to event-driven servers built to hold many thousands of connections at once.