Как убить процесс в Linux
Задачи в Linux называются процессами. Каждый процесс имеет уникальный идентификатор. Чтобы завершить его в Linux, мы можем использовать команду kill. В этом руководстве мы покажем вам, как убить процесс в Linux, чтобы улучшить свои навыки управления VPS.
Иногда вы можете запустить сервер или приложение, забыть о нем и вам нужно его выключить. В таких сценариях мы можем использовать команду kill.
Ниже приведены несколько примеров, в которых может оказаться полезной команда kill:
В таких случаях вы можете использовать формат команды, как показано ниже:
Вы можете проверить список, указав полное имя процесса:
Вы можете проверить соответствие процессов, используя частичное имя:
Пример такой команды:
Еще одно отличие - это корневой пакет, которому принадлежат эти команды. В Linux killall принадлежит пакету psmisc. С другой стороны, такие команды, как ps, top, kill, pkill, принадлежат пакету procps.
Другое отличие состоит в том, что killall можно настроить для завершения процессов на основе временных меток. Если вы хотите убить процесс, который работал менее 40 минут, вы можете использовать:
Иногда вы можете запустить сервер или приложение, забыть о нем и вам нужно его выключить. В таких сценариях мы можем использовать команду kill.
Ниже приведены несколько примеров, в которых может оказаться полезной команда kill:
- Чтобы остановить любой автоматизированный процесс
- Чтобы остановить процесс, который был запущен случайно
- Чтобы остановить процесс, который потребляет много памяти
- Чтобы принудительно остановить любой процесс, запущенный в Linux
- Чтобы остановить фоновый процесс
Как показать идентификатор процесса в Linux
Команды Kill позволяют завершить процесс, используя определенный идентификатор процесса, также известный как pid. Чтобы показать pid в Linux, вы можете выполнить следующую команду:ps
Это перечислит все доступные процессы с pid. Если вы хотите сделать свой список более конкретным - добавьте команду grep, например:ps -ux | grep java
Это отобразит все запущенные java-процессы на выходе.Как показать все сигналы команды уничтожения
В Linux доступно несколько сигналов, которые можно использовать для прерывания, завершения или приостановки процессов. Команду можно использовать, как показано ниже:kill -l
Эта команда отобразит на странице руководства информацию о различных сигналах уничтожения с их именами и соответствующими номерами. Хотя доступно несколько сигналов, в большинстве случаев мы будем использовать SIGKILL (9) и SIGTERM (15).Как убить процесс в Linux с помощью терминала
Теперь мы готовы двигаться дальше и изучать различные способы использования команды «Убить». Чтобы продолжить, войдите на свой VPS-сервер с помощью SSH.Использование команды Kill с PID
Чтобы убить определенный процесс с помощью PID, используйте следующую команду:kill 63772
Здесь 63772 - это идентификатор процесса, который мы хотим завершить. Поскольку сигнал не указан, это будет сигнал SIGTERM . Иногда это может не сработать; в этом случае вам, возможно, придется принудительно убить процесс.В таких случаях вы можете использовать формат команды, как показано ниже:
kill [Signal_or_Option] pid
Ниже приведен пример команды для принудительного завершения процесса:kill SIGKILL 63772
Точно так же, чтобы убить, используя более короткий вариант, вы можете использовать: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
Эта команда выведет список процессов с соответствующим идентификатором процесса.Как убить процесс в 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 [Process_Name>]
Вы также можете использовать следующие параметры вместе с командой killall:- s - секунды
- м - минуты
- ч - часы
- d - дни
- w-недели
- M - месяцы
- y - годы
Комментариев 0