POSIX Signals
The standard POSIX signals as implemented on Linux — SIGINT, SIGTERM, SIGKILL, SIGSEGV, and the rest — with their numbers, default disposition (terminate, dump core, stop, continue, or ignore), a description, and whether the signal can be caught or is unstoppable.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/posix-signals.json
Or use as a typed import:
import { posixSignals } from "https://staticdata.dev/v1/posix-signals.ts"
Formats
- JSON 5.1 KB
/v1/posix-signals.json
min: 4.0 KB · /v1/posix-signals.min.json
- CSV 2.1 KB
/v1/posix-signals.csv
- TypeScript 5.3 KB
/v1/posix-signals.ts
export const posixSignals
type PosixSignal = (typeof posixSignals)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| name | string | Signal name | SIGTERM |
| number | number | Signal number (Linux x86/ARM) | 15 |
| defaultAction | string | Terminate, Core, Ignore, Stop, or Continue | Terminate |
| description | string | What raises the signal | Termination signal. The polite, catchable request to shut down. |
| catchable | boolean | Whether the signal can be caught, blocked, or ignored | true |
Preview
First 10 records.
| name | number | defaultAction | description | catchable |
|---|---|---|---|---|
| SIGHUP | 1 | Terminate | Hangup detected on controlling terminal or death of controlling process. Often used to tell daemons to reload configuration. | true |
| SIGINT | 2 | Terminate | Interrupt from keyboard (Ctrl+C). | true |
| SIGQUIT | 3 | Core | Quit from keyboard (Ctrl+\); terminates and dumps core. | true |
| SIGILL | 4 | Core | Illegal instruction. | true |
| SIGTRAP | 5 | Core | Trace/breakpoint trap, used by debuggers. | true |
| SIGABRT | 6 | Core | Abort signal, raised by abort(). | true |
| SIGBUS | 7 | Core | Bus error (bad memory access / unaligned access). | true |
| SIGFPE | 8 | Core | Erroneous arithmetic operation, such as division by zero. | true |
| SIGKILL | 9 | Terminate | Kill signal. Cannot be caught, blocked, or ignored. | false |
| SIGUSR1 | 10 | Terminate | User-defined signal 1. | true |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/posix-signals.json | jq '.[0]' import type { PosixSignal } from "https://staticdata.dev/v1/posix-signals.ts";
const res = await fetch("https://staticdata.dev/v1/posix-signals.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const posixSignals: PosixSignal[] = await res.json();
console.log(posixSignals[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/posix-signals.min.json") as r:
posixSignals = json.load(r)
print(posixSignals[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/posix-signals.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/posix-signals.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
The standard signals defined by POSIX and the Linux signal(7) man page, ordered by signal number. SIGSTKFLT (16) and SIGPWR (30) are Linux-specific and not part of POSIX.
Signal numbers are platform-dependent. The number values here are the standard ones on Linux (x86, ARM, and most common architectures). A handful of signals are assigned different numbers on other platforms — for example, SIGBUS, SIGUSR1, and SIGUSR2 differ on Alpha, MIPS, SPARC, and PA-RISC — so rely on the symbolic name in portable code, not the number. SIGKILL (9) and SIGSTOP (19) are the only signals that cannot be caught, blocked, or ignored; these have catchable: false. defaultAction describes what happens with no handler installed: Terminate ends the process, Core ends it and dumps core, Stop/Continue pause and resume it, and Ignore discards the signal. The real-time signals (SIGRTMIN…SIGRTMAX) are out of scope.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
posix-signals changelog for this dataset's history.
More Code datasets
- ansi-colors
- ascii
- cron-presets
- css-at-rules
- css-functions
- css-named-colors
- css-properties
- css-pseudo-classes
- css-pseudo-elements
- css-units
- data-units
- exit-codes
- file-signatures
- hash-algorithms
- js-array-methods
- js-math-methods
- js-object-methods
- js-string-methods
- json-schema-keywords
- jwt-claims
- mathematical-constants
- measurement-units
- node-builtin-modules
- owasp-top-10
- periodic-table
- physical-constants
- programming-languages
- regex-flags
- regex-patterns
- roman-numerals
- si-base-units
- si-derived-units
- si-prefixes
- spdx-licenses
- strftime-tokens
- tailwind-colors
- time-units
- unicode-blocks
- unicode-general-categories
- unicode-planes
- unix-file-permissions
- xterm-256-colors