[ Содержание ]
Несмотря на страшное название программы (сразу видно, что систему писали в стране, которая очень любит воевать. Если бы 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 завершила свою работу.
[ Содержание ]