Kelly Mears

Process

A running program with its own memory, environment, and identity.

Systems & Tooling2 min read216 words15 out · 26 in
also calledProcessesPID

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