kill
Утилита kill
в операционных системах UNIX и UNIX-подобных системах (например, Linux) используется для завершения процессов. Она позволяет отправлять сигналы процессам, которые могут приводить к их завершению или изменению поведения.
Завершение процесса по имени: Чтобы убить процесс по его имени, вы можете воспользоваться командой pkill
. Например, чтобы завершить все процессы с именем "myprocess", вы можете выполнить следующую команду:
pkill myprocess
Это отправит сигнал завершения (SIGTERM
) всем процессам с указанным именем.
Завершение дерева процессов: Чтобы прибить дерево процессов (все процессы, зависящие от определенного процесса), вы можете использовать опцию -TERM
(или -15
) команды kill
. Например, предположим, что у вас есть процесс с идентификатором PID
, который запускает другие процессы. Вы можете завершить все процессы, зависящие от этого процесса, с помощью следующей команды:
kill -TERM -- -PID
Здесь -PID
означает все процессы, зависящие от процесса с указанным идентификатором.
Сигналы, используемые в команде kill
: В команду kill
можно передавать различные сигналы, которые определяют, как воздействовать на процессы. Некоторые распространенные сигналы включают:
SIGTERM
(15): Это стандартный сигнал завершения, который по умолчанию отправляется командойkill
. Он позволяет процессу корректно завершиться.SIGKILL
(9): Этот сигнал немедленно завершает процесс, не давая ему возможность выполнить какие-либо действия предварительной обработки.SIGHUP
(1): Этот сигнал обычно используется для перезапуска процесса или обновления его конфигурации.SIGINT
(2): Этот сигнал отправляется при нажатии комбинации клавишCtrl+C
. Он используется для прерывания выполнения процесса в терминале.SIGSTOP
(19) иSIGCONT
(18): Эти сигналы приостанавливают и возобновляют выполнение процесса соответственно.SIGSTOP
приостанавливает процесс без его завершения, аSIGCONT
возобновляет его выполнение.
Передать сигнал можно так:
kill -SIGTERM PID
#или
kill -15 PID
Если не указать сигнал явно, по умолчанию используется SIGTERM
.