Как пользоваться командой Kill в Linux?

Нашли упрямый фоновый процесс, пожирающий системные ресурсы? Вы можете убить его с помощью команды kill

Вот как использовать команду Kill

Чтобы использовать команду kill в полной мере, важно знать ее синтаксис, поэтому вот основной синтаксис команды kill:

kill [options]<PID>

Здесь,

  • [options]: используется для тонкой настройки поведения команды в соответствии с вашими потребностями, например, вы можете использовать опцию -s, чтобы указать сигнал kill.
  • <PID>: здесь вы указываете ID процесса, который нужно убить.

Теперь давайте посмотрим на список доступных вам опций:

.
Опции Описание
-s <signal></signal> Укажите, какой сигнал kill отправить.
-l <signal_no></signal_no> Показывает имя сигнала через номер сигнала.
-L Перечислите все доступные сигналы.
q<value></value> Отправляет сигнал с помощью sigqueue(3) вместо kill(2), позволяя отправить дополнительное целочисленное значение вместе с сигналом.

Ключевой опцией здесь является флаг -s, поскольку вы будете использовать команду kill в основном с конкретными сигналами kill.

Вот список распространенных сигналов, используемых с командой kill:

Номер сигнала Имя сигнала Описание
1 SIGHUP Re-read configuration (например, перезагрузка настроек веб-сервера).
2 SIGINT Прервать процесс, аналогично нажатию Ctrl+C.
3 SIGQUIT Выход и создание дампа ядра (для отладки аварийных ситуаций).
9 SIGKILL Принудительно завершить работу немедленно (использовать с осторожностью!).
15 SIGTERM Мягкий запрос на завершение работы, позволяющий произвести очистку (по умолчанию).

Если вы не укажете номер сигнала, по умолчанию будет использоваться SIGTERM.

Теперь давайте рассмотрим несколько практических примеров использования команды kill.

Практические примеры команды kill

1. Список доступных сигналов

Чтобы получить список доступных сигналов, достаточно использовать флаг -L в команде kill, как показано здесь:

kill -L

Как вы видите, в приведенном выше ответе повторяются сигналы завершения. Как же получить список всех доступных сигналов без повторений?

Проще всего использовать автономную версию команды kill, выполнив ее следующим образом:

/usr/bin/kill -L

2. Убить процесс с помощью команды kill

Чтобы убить процесс, необходимо указать PID (Process ID) целевого процесса. Чтобы найти PID процесса, вы можете использовать команду pidof, как показано здесь:

pidof <process_name>

Например, если я хочу найти PID браузера Firefox, то я использую следующее:

pidof firefox-bin

Получив PID, вы можете использовать следующую команду:

kill <PID>

Как я уже говорил, если вы не передадите никакого сигнала завершения, он будет использовать SIGTERM, что достаточно для уничтожения большинства процессов.

Если процесс очень упрямый (и с ним связано множество дочерних процессов) и не уходит по сигналу по умолчанию, то можно использовать SIGKILL .

Сигнал SIGKILL убивает и дочерние процессы, поэтому используйте его с осторожностью. Вот как можно использовать SIGKILL, чтобы убить упрямый процесс:

kill -9 <PID>

Например, клиент Spotify не реагировал на запросы и работал не так, как ожидалось, поэтому вот как я использовал SIGKILL, чтобы убить Spotify:

kill -9 13234

Здесь 13234 – это PID рабочего стола Spotify.

3. Убить несколько процессов одновременно

Чтобы убить несколько процессов, достаточно добавить к команде kill несколько PID, разделенных пробелами:

kill [options] PID1 PID2 PID3 PIDN

Например, здесь я использовал PID Firefox и Spotify, чтобы убить их оба сразу:

kill 10793 9758

4. Найдите название сигнала по номеру

Обычно вместо названия сигнала вы натыкаетесь на номер, и вам может понадобиться узнать, какой сигнал был использован.

Для этого вы можете использовать флаг -l, добавив к нему номер сигнала, как показано здесь:

kill -l <Signal_number>

Например, если я хочу узнать, как называется сигнал завершения 9, то я использую следующее:

kill -l 9

Если вы заметили приведенный выше вывод, то понимаете, что он вывел только KILL вместо SIGKILL .

Почему, спросите вы? Ну, он не будет добавлять SIG перед именем любого сигнала завершения.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен itsfoss.com

Похожие статьи

Комментарии (0)