Why is cron called cron? The one Unix name that tells the truth
In a vocabulary built from puns, insults and physics jokes, the Unix scheduler is named with a straight face after the Greek word for time. The story is in what happened next: a daemon that checked its watch so eagerly it had to be taught to sleep.
AI-assisted postDrafted with help from Claude, edited and fact-checked by Mart. See transparency policy →
The Prague orloj: running scheduled jobs since 1410, skeleton daemon included. Photo by Maros Mraz, CC BY-SA 3.0.
Unix names are usually jokes — an insult, a pun on a colleague, a thermodynamics reference. The scheduler is the exception. cron comes from chronos, the Greek word for time, and that is the entire etymology: the time daemon, named for time. After a lane full of fake acronyms and login-name tributes, the honesty is almost suspicious. (No, it is not an acronym — the occasional "Command Run ON" expansion floating around forums is the same species of backronym as daemon's fake "Disk And Execution MONitor.")
The original cron was beautifully dumb
cron shipped as a system service in Version 7 Unix in the late 1970s, and the first implementation is a portrait of the era's simplicity. It woke up, read /usr/lib/crontab, checked whether any line matched the current minute, ran whatever matched — as root — slept for a minute, and did it all again. Forever. One table, one loop, one daemon checking its watch sixty times an hour whether anything needed doing or not.
The elegance had a cost: the design consumed resources whether it found work or not. That was fine on the single machine it was written for. Then it met multi-user reality: in a late-1970s experiment at Purdue University, running cron's constant scanning for a hundred users on a VAX put enough load on the system that the polling design had to go. Purdue students Robert Brown and Keith Williamson rebuilt it around an event queue: compute when the next job is due, sleep until exactly then, wake, run, repeat. cron learned to set an alarm clock instead of checking its watch — which is, if you like your metaphors tidy, the moment the time daemon actually understood time. Williamson went on to Bell Labs and folded the at command into cron along the way.
Vixie's cron, 1987
The cron on your Linux box today mostly descends from neither of those but from Paul Vixie's 1987 rewrite, which became the prevalent implementation — per-user crontabs in a spool directory, the crontab -e workflow, the five-field syntax burned into every sysadmin's muscle memory (and the reference card exists for when the muscle memory fails). Vixie cron is also why the name never drifted: forty-plus years, at least three ground-up reimplementations, and every one of them kept the four letters, the same way every grep variant kept grep. In this lane, the implementation is mortal and the name is not.
The suffixless daemon
One oddity for the collection: cron is a daemon, and by the naming convention it should be crond — and on some systems (Red Hat lineage) the process is indeed crond, while the program everyone speaks of stayed plain cron. The name predates the era when the -d suffix hardened into law, so cron wears its daemonhood inconsistently, a fossil inside a fossil: named for the Greek god of time, too old to follow the convention named for a Greek spirit.
cron: from Greek chronos, time — the rare honest Unix name, and not an acronym. Shipped with Version 7 Unix as a scan-every-minute loop, rebuilt at Purdue with an event queue after 100 users on a VAX proved polling doesn't scale, rewritten by Paul Vixie in 1987 into the cron you run today.
Read next


