Каждый из нас встречался с таким явлением, как зависшее приложение, в итоге приходилось его принудительно завершать. В дистрибутивах Linux с графическим окружением можно открыть системный монитор, найти приложение и завершить. Но, есть и иной способ это сделать, это команда под названием kill. Суть этой команды, завершить процесс, который по тем или причинам стал не нужен пользователю или, другим способом его попросту не остановить, к примеру, вышел из-под контроля или завис.
Команда kill завершает процесс по так называемому PID. Это идентификатор приложения под которым оно было запущено. PID есть у каждого процесса и его можно увидеть в том же диспетчере задач в строке ID. В случае, если графического окружения нет, к примеру, работа происходит на сервере, узнать PID можно открыв HTOP.
Если у вас HTOP не установлен, то PID можно узнать запустив приложение TOP набрав в терминале соответствующую команду “top”.
Команда kill: дополнительные опции
Итак, давайте рассмотрим работу команды kill поподробнее. У команды kill имеются дополнительные опции, их мало, но они есть. Начнем с опции “l”, эта опция отображает список всех сигналов, которые могут быть отправлены с помощью команды Kill. Это может быть полезно, если вы не знаете, какой сигнал нужно отправить для решения определенной задачи.
Опция “-L” также отображает список всех сигналов, но в виде числовых констант. Это может быть полезно, если вы хотите использовать числовой идентификатор вместо символического.
Опция “-s” позволяет отправлять различные типы сигналов для управления процессами, которые можно посмотреть с помощью выше перечисленных опций (-l и -L).
Опция “-n” позволяет повторять отправку сигнала указанное количество раз, то есть, после указания опции -n пишем сколько раз отправить сигнал: -n 10. Если количество повторений не указано, то по умолчанию сигнал отправляется один раз.
Эти дополнительные опции можно увидеть набрав команду “kill –help”:

Работа с командой kill
Итак, приступим к работе с командой kill. К примеру, нам нужно завершить работу запущенного приложения HTOP. Что бы узнать его PID, открываем HTOP или TOP и ищем его в запущенных приложениях:

Приложение HTOP запущено под PID 4036, соответственно, что бы завершить процесс необходимо ввести команду “kill” и указать “4036”
kill 4036

Теперь рассмотрим пример команды kill работы с опцией -s. После того как вы написали команду kill и указали опцию “-s”, необходимо указать какой сигнал отправить. Напомню, список сигналов можно получить опциями “-l” и “-L”. К примеру, сигнал SIGTERM позволяет процессу закончить свою работу и выполнить необходимые операции по очистке ресурсов перед завершением. А вот сигнал SIGKILL принудительно завершит работу запущенного процесса, тем самым не дав ему завершить необходимые действия которые требуются для корректного завершения.
К примеру, укажем после опции “-s” сигнал SIGKILL для процесса HTOP. Тут принцип такой же, после указания всех параметров команды kill, необходимо указать PID процесса, который необходимо завершить. То есть, на данный момент HTOP запущен под PID 4224, пишем команду kill, затем указываем опцию -s, отправляемый сигнал, в нашем случае это SIGKILL и последним указываем тот самый PID:
kill -s SIGKILL 4224

Принудительно завершить приложение можно указав вместо SIGKILL цифровой номер этого сигнала -9, как уже говорилось выше, узнать цифровое обозначение сигналов можно опцией “-L”:

Давайте это и проделаем, завершим процесс указав цифровой номер сигнала. Пишем команду kill, а затем указываем номер сигнала который хотим послать и PID процесса:
kill -9 4259

Заключение
Команда kill может вас не раз выручить в самых неожиданных ситуациях, возможно, даже поможет решить задачу когда и в графическом окружении, когда оно зависло. Бывает и такое, что графический интерфейс не отвечает, но есть возможность переключится в терминальный режим и там сделать какие-то действия. Что бы перейти в терминал Linux, можно воспользоваться сочетанием клавиш “ctrl + alt + f1” и так до “f6”, что бы снова вернуться в графический интерфейс, нажмите “ctrl + alt + f7”.
В данной статье мы кратко рассмотрели возможности работы с командой kill, возможно, на первый взгляд может показаться что это незначительная команда, но все же она бывает крайне полезной.
А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на социальные сети журнала Cyber-X:
YouTube
ВКонтакте
Telegram
Дзен
Телеграм Бот по изучению команд Linux!
По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.