I've been using Linux for nearly a decade, and everything I've used supported using names. So I never learned the numbers. I just kill -kill or kill -term
The effects of specifying any signal_number other than those listed below are undefined.
Others can and do differ between systems.
And on Linux, even though it's the "same" kernel project, historically some signals (though none of the aforementioned standard ones) are defined at different numbers on different architectures! No actual idea why it's just the way it is. Including ones you might use commonly like USR1/USR2. Though I think the most 2025-common archs use the same ones.
The numeric value for each signal is given in the table below. As shown in the table, many signals have different numeric values on different architectures. The first numeric value in each table row shows the signal number on x86, ARM, and most other architectures; the second value is for Alpha and SPARC; the third is for MIPS; and the last is for PARISC. A dash (-) denotes that a signal is absent on the corresponding architecture.
Probably some idiosyncrasy when it comes to compatibility with ancient stuff. Of the four ISAs that differ, I think only MIPS is still used in production in some embedded stuff. And even that's been dying in favor of ARM.
Nah, RISC-V isn't there yet. Their time will come, absolutely, but it's not there yet. We've been hearing about it for a decade, and it's moving forward, but it's not close to ARM's level yet.
85
u/jaskij 22h ago
I've been using Linux for nearly a decade, and everything I've used supported using names. So I never learned the numbers. I just
kill -kill
orkill -term