Daemon
A long-running background process managed by the operating system's service supervisor.
A daemon is a program that runs in the background rather than attached to a session, typically started and supervised by the operating system: systemd on Linux, launchd on macOS, the service manager on Windows.
Supervision is the feature and the complication. A supervisor can restart a service when it exits unexpectedly, which turns an occasional crash into an invisible blip — genuinely useful when an underlying framework is unreliable. It also means the process cannot simply be killed: a signal reads as a crash and triggers a restart, so stopping it requires either a clean exit or unloading the job from the supervisor.
Registration is where the subtle failures live. A supervisor records the path it was told about, and if that path was captured in an unusual context — a sandboxed shell with a remapped home directory, for example — the record points at somewhere that does not exist. Every subsequent launch then fails, silently and quickly, and the fix requires clearing the registration rather than reinstalling the program. Registering from a normal launch, rather than by executing the binary directly, avoids the whole class of problem.
Scheduled work is the daemon's near relative; see Cron.
See also14
Truncation Bias
Reading a truncated result as if it were the whole result, so every counterexample is invisible.
Method28 connections
Process
A running program with its own memory, environment, and identity.
Systems & Tooling33 connections
Code Signing
Cryptographically attesting who produced a binary, and the operating-system checks built on it.
Systems & Tooling27 connections
Observability
How much of a system's internal state can be inferred from what it emits.
Method32 connections
Silent Failure
A failure that produces no signal, so the absence of an error reads as success.
Method73 connections
Resource Starvation
Failures caused by competition for a finite shared resource rather than by any defect.
Testing & Verification18 connections
Ground Truth
The measurement that arbitrates, as opposed to the artifact that merely reports.
Method99 connections
Root Cause Analysis
Escalating past the visible symptom until you find the layer that actually produced it.
Method49 connections
Instrumentation
Adding measurement to code so its execution can be observed, and the distortions that introduces.
Testing & Verification19 connections
Terminal Multiplexer
A program that runs many terminal sessions inside one window, splits it into panes, and keeps the sessions alive on a server after the connection drops, so long jobs and remote work survive disconnection.
Systems & Tooling10 connections
Sound Server
The background service that sits between applications and audio hardware, mixing many programs' sound together, routing it to the right speakers or headphones, and handling volume, device switching and latency.
Systems & Tooling8 connections
File Watching
How programs learn that files changed, by polling or by kernel notification interfaces such as inotify and FSEvents, and the many ways those notifications get lost, delayed, or exhausted.
Systems & Tooling8 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
Pseudoterminal
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.
Systems & Tooling12 connections
Linked from13
- Code SigningSystems & Tooling
Cryptographically attesting who produced a binary, and the operating-system checks built on it.
- CPU AffinitySystems & Tooling
Restricting which cores a thread may run on, which matters most on processors whose cores are not all alike.
- CronSystems & Tooling
Time-based scheduling of recurring jobs, and the reasons scheduled jobs quietly stop working.
- File WatchingSystems & Tooling
How programs learn that files changed, by polling or by kernel notification interfaces such as inotify and FSEvents, and the many ways those notifications get lost, delayed, or exhausted.
- Idle GamePlay & Games
A genre in which progress continues while the player is absent, built on exponential curves the player learns to read.
- Init SystemSystems & Tooling
The first userspace process a kernel starts, and the ancestor of every other process on the machine.
- ObservabilityMethod
How much of a system's internal state can be inferred from what it emits.
- ProcessSystems & Tooling
A running program with its own memory, environment, and identity.
- 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.
- Sound ServerSystems & Tooling
The background service that sits between applications and audio hardware, mixing many programs' sound together, routing it to the right speakers or headphones, and handling volume, device switching and latency.
- SystemdSystems & Tooling
The dominant Linux init system, replacing sequential startup scripts with declarative, parallel, dependency-aware units.
- Terminal MultiplexerSystems & Tooling
A program that runs many terminal sessions inside one window, splits it into panes, and keeps the sessions alive on a server after the connection drops, so long jobs and remote work survive disconnection.
- 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.