root@rosebud:~#
kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
While a good
number of signals are defined, you won’t be using more than a handful.
Commonly, when it comes to managing processes, the SIGTERM signal is most use‐
ful. That’s the signal that
kill
and
killall
issue by default. When SIGTERM isn’t ade‐
quate to get the process to stop, you might need to issue a stronger signal. When
SIGTERM is sent, it’s up to the process to handle the signal and exit.
If the process is
hung up, it may need additional help. SIGKILL (signal number 9) will forcefully ter‐
minate the process without relying on the process itself to deal with it.
The second program that you should become acquainted with is
killall
. The differ‐
ence between
kill
and
killall
is that with
killall
you don’t necessarily need the PID.
Instead, you use the name of the process. This can be useful,
especially when a parent
may have spawned several child processes. If you want to kill all of them at the same
time, you can use
killall
, and it will do the work of looking up the PIDs from the pro‐
cess table and issuing the appropriate signal to the process. Just as in the case of
kill
,
killall
will take a signal number to send to the process. If you
need to forcefully kill all
instances of the process named
firefox
, for instance, you would use
killall -9 firefox
.
Other Utilities
Obviously, we aren’t going to go over the entire list of commands available on the
Linux command line. However, some additional ones are useful to get your head
around. Keep in mind that Unix was designed to have simple utilities that could be
chained together. It does this by having three standard input/output streams: STDIN,
STDOUT, and STDERR. Each process inherits these three streams when it starts.
Input comes in using STDIN,
output goes to STDOUT, and errors are sent to
STDERR, though perhaps that all goes without saying. The advantage to this is if you
don’t want to see errors, for example, you can send
the STDERR stream somewhere
so you don’t have your normal output cluttered.