Главная
|
Услуги и цены
VDS
Выделенные серверы
Размещение сервера
|
F.A.Q
|
О компании
|

Как найти и убить зависший процесс в Linux: ps, kill, killall

  • 1. Как найти зависший процесс
  • 2. Как убить зависший процесс в Linux
  • 3. Как узнать, какой процесс завис
  • 4. Что делать после принудительного завершения
  • 5. Полезные команды‑шпаргалки
  • 6. Вывод

Иногда в Linux-системе приложения могут зависнуть, начать потреблять слишком много ресурсов или просто перестать реагировать. В таких случаях нужно уметь находить и завершать проблемные процессы — быстро, безопасно и эффективно.

В этой статье мы разберём, как находить зависшие процессы и завершать их с помощью стандартных команд: ps, kill, killall, а также затронем top и htop для наглядности.

Как найти зависший процесс

1. Используем ps для поиска процессов

    ps aux
    

Выводит список всех процессов в системе. Полезные столбцы:

  • USER — от кого запущен процесс
  • PID — идентификатор процесса
  • %CPU, %MEM — использование ресурсов
  • COMMAND — команда, запустившая процесс
Вывод команды ps aux

Фильтрация по имени:

Например: ищем все процессы, связанные с nginx

    ps aux | grep nginx
    
Фильтрация процессов по имени

? Чтобы избежать попадания самой команды grep в результат, используйте:

        ps aux | grep [n]ginx
        
    

2. Используем htop для диагностики

Мы рассматривали работу htop в статье Мониторинг ресурсов сервера.

    htop
    

Можно использовать стрелки, нажимать F9 для убийства процесса, и выбирать сигнал (например, SIGKILL).

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

1. kill по PID

Если вы знаете PID процесса (можно узнать через ps, top, htop):

    kill PID
    

Пример:

    kill 1234
    

Это отправляет сигнал SIGTERM (15) — вежливый способ попросить процесс завершиться.

Завершение процесса по pid с помощью kill

? Если не сработало:

        kill -9 1234
        
    

-9 = SIGKILL — жесткое завершение, которое нельзя перехватить. Используйте только при крайней необходимости!

2. killall — завершение процессов по имени

    killall firefox
    

Завершает все процессы, имя которых совпадает с firefox.

Пример: завершение всех процессов nginx с помощью killall

killall nginx пример

Можно использовать и сигналы:

    killall -9 node
    

? Осторожно: killall завершит все совпадающие процессы, включая фоновые. Убедитесь, что вы не закроете важный сервис.

3. pkill — ещё один способ по имени

    pkill nginx
    

Очень похож на killall, но может быть более гибким — поддерживает регулярные выражения, фильтрацию по пользователю и т.д.

    pkill -u www-data php
    

Завершит все процессы php, запущенные от пользователя www-data.

Как узнать, какой процесс завис

Признаки зависшего процесса:

  • Высокая нагрузка на CPU или RAM (top, htop)
  • Невозможно остановить сервис через systemctl
  • Процесс висит, но не делает ничего полезного
  • Нет отклика от приложения (например, веб-сервер не отвечает, но процесс работает)

Что делать после принудительного завершения

  1. Проверьте, не остались ли "зомби" или дублирующиеся процессы.
  2. Проанализируйте логи: часто проблемы видно в /var/log/syslog, /var/log/nginx/error.log и т.п.
  3. Перезапустите сервис, если нужно.
  4. Проверьте статус: Как перезапустить и проверить статус писали в статье: Как перезапустить сервис в Linux: systemctl и service

Полезные команды‑шпаргалки

ЗадачаКоманда
Найти процесс по имениps aux
Завершить процесс по PIDkill PID
Жёстко завершить процессkill ‑9 PID
Завершить все процессы по имениkillall имя
Убить процесс по имени (вариант)pkill имя
Посмотреть процессы по памятиps aux --sort=-%mem

Вывод

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

Используйте ps, kill, killall, top и htop в связке, чтобы быстро реагировать на сбои и поддерживать стабильную работу вашего VDS.

logo
© 2022 62yun
Все права защищены
vk.com/62yuncom
support@62yun.ru
logo
vk.com/62yuncom
support@62yun.ru
Услуги
VDS Выделенные серверы
Полезное
F.A.Q О компании Политика конфиденциальности Оферта
Способы оплаты
wechatpay visa mastercard
MirAccept
Партнеры
25port
© 2022 62yun Все права защищены
ВВЕРХ