Команда Kill, Pkill, Killall. Как Убить Процесс в Linux

Команда Kill, Pkill, Killall. Как Убить Процесс в Linux

Задачи в Linux называются процессами. Каждый процесс имеет уникальный идентификатор. Чтобы завершить запущенные процессы Linux, мы можем использовать команду kill. В этом руководстве мы покажем вам, как убить процесс в Linux, чтобы улучшить ваши навыки управления VPS.

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

Ниже приведены несколько примеров, в которых может быть полезна команда kill:

  • Чтобы остановить любой автоматизированный процесс
  • Чтобы остановить процесс, который был запущен случайно
  • Чтобы остановить процесс, который потребляет много памяти
  • Чтобы принудительно остановить любой процесс, запущенный в Linux
  • Чтобы остановить фоновый процесс

Помимо остановки процесса, команда kill может выполнять ещё несколько функций. Например, послать сигнал процессу. По умолчанию это воспринимается как сигнал TERM, который завершает процесс.

Как узнать идентификатор процесса (PID) в Linux

Команды kill позволяют завершить процесс, используя идентификатор процесса, также известный как pid. Чтобы узнать pid процесса в Linux, выполните следующую команду:

ps

Команда перечислит все доступные процессы с pid. Если вы хотите сделать свой список более конкретным – добавьте команду grep следующим образом:

ps -ux | grep java

В этом примере, команда выведет все запущенные Java-процессы.

Как показать все сигналы команды kill

В Linux доступно несколько сигналов, которые можно использовать для прерывания, завершения или приостановки процессов. Вот пример использования команды:

kill -l

Эта команда отобразит страницу руководства с различными сигналами kill с их именами и соответствующими номерами. Несмотря на то, что доступно несколько сигналов, в большинстве случаев мы будем использовать SIGKILL (9) и SIGTERM (15).

Как убить процесс в Linux с помощью терминала

Теперь мы готовы двигаться дальше и изучать различные способы использования команды kill. Чтобы продолжить, войдите на свой VPS-сервер с помощью SSH.

Использование команды kill с PID

Чтобы убить процесс с определённым PID, используйте следующую команду:

kill 63772

Здесь 63772 – это идентификатор процесса, который мы хотим завершить. Поскольку сигнал не указан, это будет сигнал SIGTERM. Иногда это может не сработать; в этом случае вам, возможно, придётся принудительно убить процесс.

В таких случаях вы можете использовать формат команды, как показано ниже:

kill [Сигнал_или_Опция] pid

Ниже приведён пример команды для принудительного завершения процесса:

kill SIGKILL 63772

Точно так же вы можете использовать сокращённый вариант команды для завершения процесса Linux:

kill -9 63772

Замените 63772 соответствующим pid для прекращения процесса.

Как убить несколько процессов в Linux

С помощью одной и той же команды вы можете убить несколько процессов. Синтаксис этой команды будет следующим:

kill -9 pid1 pid2 pid3

Вот пример, показывающий, как это будет выглядеть на практике:

kill -9 63772 45116 23465

Как убить процесс в Linux с помощью команды Pkill

Pkill – разновидность команды kill, в которой вы можете указать имя процесса или паттерн для его поиска:

pkill chrome

Приведенная выше команда завершит работу браузера Chrome. Вы также можете указать частичное совпадение запроса в командной строке, например:

pkill chr

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

Вы можете проверить список, указав полное имя процесса:

pidof chrome

Вышеупомянутую команду можно использовать, если вы знаете полное имя процесса.

Вы можете проверить список процессов с похожим названием, используя лишь часть имени:

pgrep -l chr

Эта команда выведет список процессов с соответствующим ID процесса.

Как убить процесс в Linux с помощью команды killall

Основное различие между killall и kill заключается в том, что killall может завершить процесс по имени, в то время как команда kill использует pid.

Пример такой команды:

killall chrome

Команда напоминает pkill. Однако killall использует точное соответствие имени, а pkill может убить процесс, сопоставив паттерн. Это одна из причин, по которой killall безопаснее, чем pkill.

Ещё одно отличие – это корневой пакет, к которому принадлежат команды. В Linux, killall принадлежит пакету psmisc. С другой стороны, такие команды, как ps, top, kill, pkill, принадлежат пакету procps.

Кроме того, killall можно настроить для завершения процессов на основе временных меток. Например, если вы хотите убить процесс, который работал менее 40 минут, вы можете использовать:

killall -y 40m [Имя_Процесса>]

Вы также можете использовать следующие параметры вместе с командой killall:

  • s – секунды
  • m – минуты
  • h – часы
  • d – дни
  • w – недели
  • M – месяцы
  • y – годы

Итоги

В этом руководстве мы охватили наиболее важные и полезные команды kill в Linux. Теперь вы знаете, как использовать эту утилиту, чтобы убить процесс. Если вы хотите узнать больше о её возможностях, обратитесь к руководству по Linux. Удачи в вашем проекте, до встречи в следующем уроке!

Author
Автор

Olha L.

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов'язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.