Как посмотреть процессы и завершить процесс
Найти процесс по имени и завершить его:
pgrep -a firefox
pkill firefoxpgrep -a показывает номера (PID) и команды подходящих процессов, pkill просит их завершиться. Если через несколько секунд процесс всё ещё жив — завершите силой:
pkill -9 firefoxПо номеру процесса
ps aux | grep firefox
kill 4321
kill -9 4321В выводе ps aux номер процесса — во втором столбце (PID). Строку с самим grep firefox не учитывайте — это ваша команда поиска.
Посмотреть все процессы
| Команда | Что показывает |
|---|---|
ps aux | все процессы системы разом |
ps aux --sort=-%cpu | head | самые загружающие процессор |
ps aux --sort=-%mem | head | самые прожорливые по памяти |
top | живой список; P и M — сортировка, k — завершить, q — выход |
htop | то же нагляднее; F9 — завершить, F10 — выход (ставится отдельно) |
kill или kill -9
killпосылает сигнал SIGTERM — просьбу завершиться. Программа успевает сохранить данные и закрыться сама.kill -9посылает SIGKILL — система обрывает процесс сразу. Несохранённые данные пропадут.
Поэтому сначала обычный kill, и только если он не помог — kill -9. Свои процессы завершаются без sudo, процессы других пользователей и системы — через sudo kill.
Не обрывайте через kill -9 базы данных и установку программ — можно испортить данные или систему пакетов. Службы останавливайте командой sudo systemctl stop имя: если просто завершить процесс службы, система может тут же запустить его снова.
pkill и killall ищут по имени. pkill fire завершит всё, в имени чего есть «fire», поэтому сначала проверьте список через pgrep -a.
Процесс не завершается
- Состояние
Z(зомби) в столбцеSTAT— процесс уже завершился и ждёт, пока его «заберёт» родитель. Ресурсов почти не тратит, исчезнет вместе с родительским процессом. - Состояние
D— процесс ждёт диск или сеть (например, отвалившуюся сетевую папку). Такой не завершает дажеkill -9, пока операция не закончится; иногда помогает только перезагрузка. - Процесс сразу появляется снова с другим номером — его перезапускает служба или другой процесс. Найдите службу:
systemctl status 4321покажет, какой службе принадлежит процесс с этим номером.
Подробнее о процессах, сигналах и фоновых задачах — в уроке Процессы: ps, top, kill и фоновые задачи.