При управлении системой Linux вы можете столкнуться с ситуацией, когда процесс перестает отвечать на запросы или его нужно остановить вручную. Знание того, как завершить процесс в Linux, является ключевым навыком как для системных администраторов, так и для разработчиков.
Процесс – это экземпляр запущенной программы. Каждый процесс в Linux имеет уникальный PID (Process ID), который используется для его мониторинга или управления.
Вы можете захотеть завершить процесс, если:
Он потребляет слишком много ресурсов
Он застрял или заморожен
Вам нужно перезапустить службу или приложение
Вы хотите вручную остановить фоновый сценарий или демон
Прежде чем что-либо завершать, необходимо узнать PID процесса. Вот несколько способов:
Запустите программу top и найдите PID в крайнем левом столбце.
htop (если установлен) предлагает интерактивный, удобный интерфейс.
Возвращает непосредственно PID(ы), если известно имя процесса.
Отправьте сигнал завершения (по умолчанию SIGTERM – сигнал 15):
Если процесс не останавливается при обычном сигнале kill, используйте SIGKILL (сигнал 9):
Это заставит процесс немедленно остановиться.
Чтобы завершить все процессы с определенным именем:
Вы также можете добавить -9, чтобы выполнить его принудительно:
pkill позволяет сопоставлять имена процессов с шаблонами в стиле regex:
Или принудительно:
Если вы работаете на рабочем столе Linux и вам нужно убить графическое приложение:
Запустите:
Щелкните на окне, которое вы хотите завершить.
Примечание: xkill должен быть установлен, а X-сервер должен быть запущен.
Сигнал | Номер | Описание |
---|---|---|
СИГТЕРМ | 15 | Ускоренная остановка |
SIGKILL | 9 | Принудительное, немедленное уничтожение |
SIGHUP | 1 | Положить трубку / перезапустить демон |
SIGINT | 2 | Прерывание (например, Ctrl C) |
Прежде чем использовать принудительные методы, такие как kill -9, всегда пытайтесь завершить процесс изящным способом (kill).
Обязательно перепроверьте PID, чтобы не убить важный системный процесс.
Для критически важных служб лучше использовать инструменты управления системой, например systemctl:
Если вы часто управляете процессами, установите htop:
Этот инструмент позволяет интерактивно убивать процессы, выделяя их и нажимая F9.
Освоив эти инструменты, вы получите больше контроля над средой Linux и убедитесь, что застрявшие или неавторизованные процессы не снижают производительность системы.