Kill

Несмотря на страшное название программы (сразу видно, что систему писали в стране, которая очень любит воевать. Если бы UNIX писали в России, то программу скорее всего назвали бы «послать».), она всего лишь позволяет пользователю послать сигнал программе.

kill [-сигнал] [PID]...

При вызове программы следует указать PID процесса. В случае если необходимо послать сигнал нескольким процессам одновременно, введите несколько PID через пробел.

Параметр –l показывает список всех поддерживаемых сигналов.

Если при вызове программы явно не указывается номер посылаемого сигнала, по умолчанию посылается сигнал TERM(15).

В следующем примере показано, как можно послать сигнал при помощи программы kill.

$ ps -t tty6
  PID TTY          TIME CMD
 3876 tty6     00:00:00 bash
$ kill 3876
$ ps -t tty6
  PID TTY          TIME CMD
 3876 tty6     00:00:00 bash
$

Сначала при помощи программы ps был получен список процессов, выполняющихся на терминале tty6. Там работает только оболочка пользователя. Ее PID — 3876. Затем выполняется программа kill, которой передается PID процесса bash. И снова при помощи ps смотрится список процессов. Как видно из вывода программы ps, bash не завершил своей работы. Дело в том, что если не указать номер посылаемого сигнала, по умолчанию посылается сигнал TERM(15). Bash, работающий в качестве основной оболочки пользователя, игнорирует сигнал TERM. Для завершения работы программы пошлем ей сигнал KILL(9).

$ kill -9 3876
$ ps -t tty6
  PID TTY          TIME CMD
 4187 tty6     00:00:00 agetty
$

После получения сигнала KILL программа bash завершила свою работу.