Справочник

Процессы в Linux: команды ps, top, htop и kill

Процесс — запущенная программа. ps показывает их список, top и htop — тот же список, который обновляется сам, kill и pkill останавливают программы. Ниже — как найти, кто занял память или процессор, и как его остановить.

Обновлено 11.10.2026≈ 7 мин чтения
Содержание 10

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Наберите top и нажмите Enter. Наверху списка — программы, которые сильнее всего грузят процессор. Нажмите M, чтобы сверху оказались те, что заняли больше памяти.
  3. Запишите номер нужной строки из колонки PID и нажмите q, чтобы выйти.
  4. Если это служба — nginx, MySQL, PHP — перезапустите её через systemctl: как.
  5. Если это другая программа, остановите её: kill 1234, где 1234 — номер из PID.

Команда ps: список программ

ps aux

Три буквы — три ключа: a — программы всех пользователей, u — подробные колонки с владельцем, x — и те, что работают без терминала, например службы. Минус перед ними не ставят.

КолонкаЧто значит
USERот чьего имени работает программа
PIDномер процесса — его указывают в kill
%CPUдоля процессора в среднем за всё время работы программы
%MEMдоля оперативной памяти
VSZвиртуальная память в кибибайтах — больше той, что занята на деле
RSSсколько оперативной памяти программа занимает сейчас, в кибибайтах
TTYтерминал; ? — программа работает без терминала
STATсостояние — таблица ниже
STARTкогда программа запущена
TIMEсколько процессорного времени она уже израсходовала
COMMANDкоманда, которой её запустили

%CPU в ps — среднее за всё время, а не нагрузка в эту секунду. Что грузит процессор прямо сейчас, показывает top.

Состояние в колонке STAT

БукваЧто значит
Rработает или ждёт очереди к процессору
Sспит и ждёт события — так выглядят программы, которые ждут запросов
Dждёт диск или другое устройство, прервать нельзя
Iслужебный поток ядра без работы
Tостановлена
Zзомби: программа завершилась, но запись о ней ещё не убрана

Буквы после первой — дополнения: s — главный процесс сеанса, l — у программы несколько потоков, + — работает в терминале на переднем плане, < и N — высокий и низкий приоритет.

Кто занял память или процессор

ps aux --sort=-%mem | head -6
ps aux --sort=-%cpu | head -6

Первая команда покажет пять программ, которые заняли больше всего памяти, вторая — процессора. Минус перед %mem значит «от большего к меньшему», head -6 оставляет строку заголовка и пять строк под ней.

Найти программу по имени

pgrep -a nginx

pgrep выводит номер процесса и команду, которой его запустили. Если ничего не вывел — программ с таким именем нет. Вариант ps aux | grep nginx тоже работает, но в ответе может оказаться и строка самого grep.

top: список, который обновляется сам

top показывает программы и обновляет список раз в несколько секунд. Наверху — сводка: нагрузка, сколько процессов, процессор и память. Под ней — программы, сначала те, что сильнее грузят процессор.

КлавишаЧто делает
Mсверху — кто занял больше памяти
Pсверху — кто сильнее грузит процессор
Tсверху — кто израсходовал больше процессорного времени
Nпо номеру процесса
kостановить процесс: top спросит номер и сигнал
qвыйти

Буквы — заглавные: нажимайте их с Shift. Если top занял весь экран и не реагирует на Enter, это нормально — выход клавишей q.

htop: то же, но нагляднее

htop показывает загрузку каждого ядра процессора полосками, программы можно выбирать стрелками. Если терминал отвечает, что такой команды нет, установите её: sudo apt install htop.

КлавишаЧто делает
F6выбрать колонку для сортировки
F3 или /найти программу по части команды
F4оставить в списке только подходящие программы
F9 или kостановить выбранную программу: htop предложит выбрать сигнал
F10 или qвыйти

Если F-клавиши не работают — на ноутбуке их может перехватывать система, — нажимайте их вместе с клавишей Fn или берите буквенные варианты.

Как остановить программу: kill

  1. Узнайте номер процесса: pgrep -a имя или колонка PID в top.
  2. Попросите программу завершиться: kill 1234. kill без ключей посылает сигнал TERM — программа успеет сохранить данные и закрыться сама.
  3. Подождите несколько секунд и проверьте: ps -p 1234. Если в ответе только заголовок, программа завершилась.
  4. Если не завершилась, остановите принудительно: kill -9 1234. Это сигнал KILL — программа не может его перехватить и закрывается сразу, не сохранив данные.

kill -9 — крайняя мера: база данных, остановленная так, при следующем запуске может восстанавливать свои файлы. Программы другого пользователя останавливают через sudo kill 1234. Список всех сигналов — kill -l.

ОтветЧто значитЧто сделать
bash: kill: (1234) - No such processпроцесса с таким номером нетон уже завершился или номер с опечаткой; проверьте pgrep -a имя
bash: kill: (1234) - Operation not permittedпрограмма другого пользователяsudo kill 1234

pkill: остановить по имени

pkill останавливает все процессы, имя которых подходит под шаблон, и тоже посылает TERM. Имя ищется как часть: pkill php остановит и php-fpm, а с ним и сайт. Поэтому сначала посмотрите, что попадёт под шаблон, и только потом останавливайте:

pgrep -af backup.sh
pkill -f backup.sh

-f нужен на случай, если скрипт запущен как bash backup.sh: тогда имя процесса — bash, а backup.sh есть только в команде запуска.

КлючЧто делает
-xтолько точное совпадение имени
-u ivanтолько программы пользователя ivan
-fискать по всей команде запуска, а не только по имени

Имя процесса для поиска обрезано до 15 символов. Если длинное имя не находится, ищите с ключом -f.

Код выходаЧто значит
0нашлись подходящие процессы, pkill отправил им сигнал
1ничего не нашлось или сигнал отправить не удалось
2ошибка в команде
3сбой самой программы, например не хватило памяти

Службы перезапускайте через systemctl

nginx, MySQL, PHP-FPM и другие службы запускает systemd. Остановленная через kill служба может остаться выключенной, или systemd запустит её снова — это зависит от её настроек. Правильнее управлять службой через systemctl:

sudo systemctl restart nginx
systemctl status nginx

Первая команда перезапускает службу, вторая показывает, работает ли она. Если служба не запускается, разбор ошибок — в статье Ошибки systemd и диска.

Зомби-процессы

Процесс с буквой Z уже завершился: память и процессор он не тратит, в списке остаётся только запись о нём. kill на него не действует — запись убирает программа, которая его запустила. Если зомби много и они не пропадают, перезапустите эту программу или службу.

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026