Как завершить процесс в Linux

При управлении системой Linux вы можете столкнуться с ситуацией, когда процесс перестает отвечать на запросы или его нужно остановить вручную. Знание того, как завершить процесс в Linux, является ключевым навыком как для системных администраторов, так и для разработчиков.

Что такое процесс в Linux?

Процесс – это экземпляр запущенной программы. Каждый процесс в Linux имеет уникальный PID (Process ID), который используется для его мониторинга или управления.

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

  • Он потребляет слишком много ресурсов

  • Он застрял или заморожен

  • Вам нужно перезапустить службу или приложение

  • Вы хотите вручную остановить фоновый сценарий или демон

Шаг 1: Определите процесс

Прежде чем что-либо завершать, необходимо узнать PID процесса. Вот несколько способов:

✅ Использование ps

ps aux | grep process_name

✅ Использование top или htop

  • Запустите программу top и найдите PID в крайнем левом столбце.

  • htop (если установлен) предлагает интерактивный, удобный интерфейс.

✅ Использование pidof

pidof process_name

Возвращает непосредственно PID(ы), если известно имя процесса.

Шаг 2: Завершение процесса

🔹 Метод 1: убить (по PID)

Отправьте сигнал завершения (по умолчанию SIGTERM – сигнал 15):

kill <PID>

🔹 Метод 2: kill -9 (принудительное завершение работы)

Если процесс не останавливается при обычном сигнале kill, используйте SIGKILL (сигнал 9):

kill -9 <PID>

Это заставит процесс немедленно остановиться.

🔹 Метод 3: killall (По имени)

Чтобы завершить все процессы с определенным именем:

killall process_name

Вы также можете добавить -9, чтобы выполнить его принудительно:

killall -9 firefox

🔹 Метод 4: pkill (подбор по образцу)

pkill позволяет сопоставлять имена процессов с шаблонами в стиле regex:

pkill process_name

Или принудительно:

pkill -9 process_name

🔹 Метод 5: xkill (для приложений с графическим интерфейсом)

Если вы работаете на рабочем столе Linux и вам нужно убить графическое приложение:

  1. Запустите:

    xkill
  2. Щелкните на окне, которое вы хотите завершить.

Примечание: xkill должен быть установлен, а X-сервер должен быть запущен.

Общие сигналы

СигналНомерОписание
СИГТЕРМ15Ускоренная остановка
SIGKILL9Принудительное, немедленное уничтожение
SIGHUP1Положить трубку / перезапустить демон
SIGINT2Прерывание (например, Ctrl C)

О чем следует помнить

  • Прежде чем использовать принудительные методы, такие как kill -9, всегда пытайтесь завершить процесс изящным способом (kill).

  • Обязательно перепроверьте PID, чтобы не убить важный системный процесс.

  • Для критически важных служб лучше использовать инструменты управления системой, например systemctl:

    sudo systemctl restart apache2

Если вы часто управляете процессами, установите htop:

sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL

Этот инструмент позволяет интерактивно убивать процессы, выделяя их и нажимая F9.

Освоив эти инструменты, вы получите больше контроля над средой Linux и убедитесь, что застрявшие или неавторизованные процессы не снижают производительность системы.