staticdata.dev
Menu
Datasets About Contact

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.

v1.0.0 MIT 31 records Updated 2026-10-05 stable Source:  POSIX signal.h, Linux signal(7) man page

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
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

    Open

    min: 4.0 KB · /v1/posix-signals.min.json

  • CSV 2.1 KB

    /v1/posix-signals.csv

    Open
  • TypeScript 5.3 KB

    /v1/posix-signals.ts

    export const posixSignals

    type PosixSignal = (typeof posixSignals)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
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.

Data preview
namenumberdefaultActiondescriptioncatchable
SIGHUP1TerminateHangup detected on controlling terminal or death of controlling process. Often used to tell daemons to reload configuration.true
SIGINT2TerminateInterrupt from keyboard (Ctrl+C).true
SIGQUIT3CoreQuit from keyboard (Ctrl+\); terminates and dumps core.true
SIGILL4CoreIllegal instruction.true
SIGTRAP5CoreTrace/breakpoint trap, used by debuggers.true
SIGABRT6CoreAbort signal, raised by abort().true
SIGBUS7CoreBus error (bad memory access / unaligned access).true
SIGFPE8CoreErroneous arithmetic operation, such as division by zero.true
SIGKILL9TerminateKill signal. Cannot be caught, blocked, or ignored.false
SIGUSR110TerminateUser-defined signal 1.true

Showing 10 of 31. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/posix-signals.json | jq '.[0]'
JavaScript
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]);
Python
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])
Go
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])
}
Rust
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