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.