Работа с неотвечающими программами может быть сложной задачей, особенно если вы работаете на старом оборудовании. В этом случае частой проблемой становится зависание системы. К счастью, в Linux есть множество способов убить неотвечающие процессы.
Команды kill и pkill предоставляют простые, но эффективные решения для завершения неотвечающих зомби-процессов с терминала. В следующих разделах описывается, как убить зависшие процессы в Linux с помощью kill и pkill.
Завершить неотвечающие процессы с помощью kill
Команда kill в Linux позволяет с легкостью закрыть неотвечающие процессы. Он отправляет процессу сигнал завершения. По умолчанию kill отправляет SIGTERM сигнал, представленный номером сигнала 15. В следующем примере kill используется для остановки процесса с PID 27065.
убить 27065
Пользователи могут отправлять другие сигналы, указав имя или номер сигнала. Например, приведенные ниже команды kill останавливают процесс зомби с помощью СИГКИЛЛ системный сигнал, представленный номером сигнала 9.
убить -9 27065
kill -SIGKILL 27065
Разница между SIGTERM и SIGKILL заключается в том, что процессы могут перехватывать и игнорировать сигнал SIGTERM. Но SIGKILL невосприимчив к обработке процессов и немедленно уничтожает программы.
Вы можете просмотреть список всех доступных сигналов, используя приведенные ниже команды уничтожения.
kill -l
убить -L
В целом, SIGKILL будет более подходящим, когда работа с не отвечающими системными процессами. С другой стороны, SIGTERM - это то, что вам нужно, если вы хотите корректно завершить зависшие программы.
Убейте неотвечающие процессы с помощью pkill
Команда pkill упрощает завершение процессов в Linux, позволяя убивать программы по их имени. Например, приведенная ниже команда убивает нано программа с использованием pkill.
pkill nano
Как и kill, pkill по умолчанию также отправляет сигнал SIGTERM. Используйте сигнал SIGKILL, если вы хотите немедленно остановить неотвечающий процесс.
pkill -9 нано
Как получить идентификатор процесса (PID) процесса
Информация о PID может оказаться огромным подспорьем при завершении не отвечающих процессов в Linux. Вы можете получить номер PID процесса несколькими способами. Следующая команда извлекает PID процесса с именем nano, используя команда grep и пс.
ps aux | grep nano
Вы также можете использовать команду pgrep, которая напрямую выводит идентификатор процесса.
pgrep nano
Управление неотвечающим процессом в Linux
Команды kill и pkill упрощают работу с неотвечающими процессами в Linux. Все что вам нужно остановить процесс зомби это его PID и доступ к оболочке. Однако вам могут потребоваться дополнительные разрешения sudo при уничтожении процессов, принадлежащих другому пользователю. Итак, если вы работаете в многопользовательской системе, попросите администратора добавить вас в список sudoers, прежде чем предпринимать какие-либо действия.
Хотите предоставить пользователю Linux права администратора? Вот как вы можете добавить пользователя в список sudoers.
Читать далее
- Linux
- Команды Linux
- Системное администрирование
Рубайат - выпускник компьютерных наук с сильной страстью к open source. Помимо того, что он ветеран Unix, он также занимается сетевой безопасностью, криптографией и функциональным программированием. Он заядлый коллекционер подержанных книг и безгранично восхищается классическим роком.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.