Cron / Scheduled-Job Failure-Mode Taxonomy — 10 failure modes, CC BY 4.0
This dataset covers 10 cron and scheduled-job failure modes: the exit code or Linux signal, what it means, the typical cause in a batch or scheduled-job context, and a concrete remediation. Every row cites a primary source — the GNU Bash Manual, Linux man-pages, or the GNU Coreutils manual — with the date the source was verified. It is published under CC BY 4.0 and free to republish, cite, or adapt with attribution to CronShield.
This dataset is published under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. You are free to share and adapt for any purpose, including commercial, provided you give attribution.
Attribution: CronShield (https://cronshield.com/data/cron-failure-taxonomy), CC BY 4.0.
How was this dataset compiled?
Each row is derived from the primary-source-cited error pages CronShield built to answer real developer queries — “what does exit code 137 mean for a cron job?”, “why does cron fail silently?”, and similar. Every factual claim on those pages traces to a named primary source: the GNU Bash Manual (Exit Status), Linux man-pages: signal(7), man crontab(5), and the GNU Coreutils manual (timeout). A row without a primary source is not published.
Each row carries the source URL and a verified_on date. The detailed error pages — with shell examples, kernel log commands, and FAQs — are linked from the “Detail page” column in the table below.
This dataset is not affiliated with any Linux distribution, the Free Software Foundation, or the kernel maintainers. It is a structured export of CronShield’s own reference research. It is not legal or operational advice.
Cron failure modes, by exit code
Each row links to a full detail page (meaning, shell examples, FAQ, and primary sources). Source links open the official primary source.
| Exit code | Signal | Failure name | Verified on | Source | Detail page |
|---|---|---|---|---|---|
| 137 | SIGKILL (9) | Killed — OOM or cgroup limit | 2026-07-04 | GNU Bash Manual… | View → |
| 127 | — | Command not found — PATH | 2026-07-04 | GNU Bash Manual… | View → |
| 143 | SIGTERM (15) | Terminated — graceful shutdown | 2026-07-04 | GNU Bash Manual… | View → |
| 1 | — | General error — read the log | 2026-07-04 | GNU Bash Manual… | View → |
| N/A | — | Silent failure — no alert fires | 2026-07-04 | man crontab(5)… | View → |
| 2 | — | Argument / usage error | 2026-07-05 | GNU Bash Manual… | View → |
| 126 | — | Command found, not executable | 2026-07-05 | GNU Bash Manual… | View → |
| 130 | SIGINT (2) | Interrupted — SIGINT | 2026-07-05 | Linux man-pages: signal(7)… | View → |
| 139 | SIGSEGV (11) | Segmentation fault | 2026-07-05 | Linux man-pages: signal(7)… | View → |
| 124 | — (SIGTERM → SIGKILL if --kill-after) | Timeout — run exceeded limit | 2026-07-04 | GNU Coreutils… | View → |
10 failure modes. Only rows verified against a primary source are included (fail-closed). Download: CSV / JSON.
Column reference
- idstring
- Stable row identifier, e.g. "cron-exit-137" or "cron-silent-failure".
- exit_code_or_signalstring
- The numeric exit code and/or POSIX signal name, e.g. "137 (SIGKILL)" or "N/A (no output)".
- namestring
- Short human-readable name for the failure mode.
- meaningstring
- What the exit code or failure class means, with the signal arithmetic explained where applicable (e.g. 137 = 128 + 9).
- typical_causestring
- The most common cause(s) of this failure in a cron or scheduled-job context. Multiple causes separated by semicolons.
- remediationstring
- Concrete steps to diagnose and fix the failure, including shell commands where applicable.
- source_urlstring (URL)
- The exact URL of the primary source the row was verified against (GNU Bash Manual, Linux man-pages, or GNU Coreutils).
- verified_onstring (ISO date)
- The ISO 8601 date (YYYY-MM-DD) on which the source URL was live-checked and the facts confirmed.
Know the moment a scheduled job fails — and why
This taxonomy is the research layer behind CronShield. The product turns that same failure-mode knowledge into automatic alerts: your job pings a URL when it runs; if the ping doesn’t arrive on schedule, CronShield emails you. Paid tiers add a log-aware diagnosis — the last log line and a likely cause — in the alert itself.
License: This dataset is published under CC BY 4.0. Free to use, share, and adapt for any purpose with attribution: CronShield (https://cronshield.com/data/cron-failure-taxonomy), CC BY 4.0. Not affiliated with the Free Software Foundation, the Linux kernel project, or any operating system vendor. Not operational advice.