+[[!meta title="A Lesser-Known Feature of kill(1)"]]
+[[!meta author="rohieb"]]
+[[!meta license="CC-BY-SA 3.0"]]
+
+## Problem ##
+I was debugging a program, which suddenly died with
+
+ QFATAL : TestEdge::testSaveRemove() Received signal 11
+
+For better understanding of the problem, it would be nice to know what
+the meaning of “signal 11” is.
+
+
+## Solution ##
+I was not so fluent in signal numbers (maybe I should take [a
+course][memrise]). Of course, I _could_ dig in the [`signal(7)` man
+page][mansignal], or in the respective C header (`signal.h`). However,
+while digging in the manpages, I noticed that `kill(1)` does not only
+kill processes, but also does exactly what I want.[^1] Citing from the
+[man page][mankill]:
+
+ -l, --list [signal]
+ List signal names. This option has optional argument, which
+ will convert signal number to signal name, or other way round.
+
+[^1]: At least the version in Debian, which is from
+ [procps](https://gitorious.org/procps)
+
+So I could just say:
+
+ $ kill -l 11
+ SEGV
+
+Ah, segmentation fault. Nice to know :-)
+
+In addition, the man page also mentions a useful parameter `-L`, which
+prints a nice table of signal numbers and mnemonics:
+
+ $ /bin/kill -L
+ 1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS
+ 8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM
+ 15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN
+ 22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH
+ 29 POLL 30 PWR 31 SYS
+
+(Also, the man page also warns about `kill` probably being a shell
+built-in. At least the Bash and zsh built-ins also know `-l`, but not
+`-L`, so you have to call `/bin/kill` explicitly.)
+
+[memrise]: http://www.memrise.com/course/158486/unix-signals/
+[mansignal]: http://manpages.debian.net/cgi-bin/man.cgi?query=signal&apropos=0&sektion=7&manpath=Debian+7.0+wheezy&format=html&locale=en
+[mankill]: http://manpages.debian.net/cgi-bin/man.cgi?query=kill&apropos=0&sektion=0&manpath=Debian+7.0+wheezy&format=html&locale=en
+
+[[!tag UNIX Linux Debian UNIX_signal_numbers signal.h SIGSEGV kill]]