# Daemon (/academy/daemon)



Someone has to keep the lights on after the cast goes home.

A **daemon** is a [process](/academy/process) with no terminal glued to it. No window. No blinking cursor you babysit. It starts when the machine starts — or when a supervisor tells it to — and it waits in the dark for work.

`sshd` is one. `postgres` is one. The thing that starts on boot so a logout does not kill your app is one. The trailing `d` on those names is not a flourish. It is the word.

On your laptop during a hackathon you usually cheat: leave the terminal open, leave `bun run dev` running, hope nobody kicks the cord. That is a process you are still holding. A daemon is the version that does not need your seat.

On a [server](/academy/server) you want a supervisor (systemd, a host's process manager) so the app comes back if it crashes. [Cron](/academy/cron) is often a daemon watching a clock. Your [API](/academy/api) in production is a daemon whether you called it that or not.

create-hackhaton-space-stack's local story is a terminal. The [deploy](/academy/deploy) story is a daemon — or a [serverless](/academy/serverless) stand-in that pretends to be one when a request arrives. Know which you have, or the logout is the outage.

**The quiet failure**

Daemons do not tap you on the shoulder. They go silent. An OS update, a memory squeeze, a crash — the watcher is gone, and you only notice when the thing it was doing stops happening. [Logs](/academy/log) and a health check are how you notice before the judges do.

The spelling is from Greek, a spirit in the machine. You can still name the unit `hackathon.service`.

**What this unlocks**

"Background" stops meaning "I minimized a window." It means a living copy that outlasts your login. The [CLI](/academy/cli) rehearsal needs you in the chair. Opening night needs something that stays after you stand up.

A process you are watching is a rehearsal. A daemon is the night shift.
