Читать книгу Linux Bible - Christopher Negus - Страница 188

Using kill to signal processes by PID

Оглавление

Using commands such as ps and top, you can find processes to which you want to send a signal. Then you can use the process ID of that process as an option to the kill command, along with the signal you want to send.

TABLE 6.1 Signals Available in Linux

Signal Number Description
SIGHUP 1 Hang-up detected on controlling terminal or death of controlling process.
SIGINT 2 Interrupt from keyboard.
SIGQUIT 3 Quit from keyboard.
SIGABRT 6 Abort signal from abort(3).
SIGKILL 9 Kill signal.
SIGTERM 15 Termination signal.
SIGCONT 19,18,25 Continue if stopped.
SIGSTOP 17,19,23 Stop process.

For example, you run the top command and see that the bigcommand process is consuming most of your processing power:

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10432 chris 20 0 471m 121m 18m S 99.9 3.2 77:01.76 bigcommand

Here, the bigcommand process is consuming 99.9 percent of the CPU. You decide that you want to kill it so that other processes have a shot at the CPU. If you use the process ID of the running bigcommand process, here are some examples of the kill command that you can use to kill that process:

 $ kill 10432 $ kill -15 10432 $ kill -SIGKILL 10432

The default signal sent by kill is 15 (SIGTERM), so the first two examples have exactly the same results. On occasion, a SIGTERM doesn't kill a process, so you may need a SIGKILL to kill it. Instead of SIGKILL, you can use –9 to get the same result.

Another useful signal is SIGHUP. If, for example, something on your GNOME desktop were corrupted, you could send the gnome-shell a SIGHUP signal to reread its configuration files and restart the desktop. If the process ID for gnome-shell were 1833, here are two ways you could send it a SIGHUP signal:

 # kill -1 1833 # killall -HUP gnome-shell

Linux Bible

Подняться наверх