- Сначала нужно понять, кого мы вообще убиваем
- 1. Команда ps
- 2. Команда pgrep
- 3. Команда pidof
- 4. И наконец, команда top
- Когда пора действовать: команды для завершения процессов
- 1. Базовый способ kill
- 2. Убиваем по имени killall
- 3. pkill умный убийца
- 4. xkill — графический способ
- Советы из личного опыта
- Заключение
Если вы хоть раз имели дело с Linux, то наверняка сталкивались с ситуацией, когда какой-нибудь процесс решает «взять отпуск». Он висит, потребляет ресурсы, как ненасытный вампир, и на любые попытки общения отвечает гробовым молчанием. По любому вам такое знакомо. Вот и у меня недавно Firefox повёл себя так, будто я ему задолжал жизнь. Подвесил половину системы и притворился, что его нет. А ведь надо было просто завершить процесс. Но, как обычно, теория и практика это две большие разницы с пропастью по середине.
Сегодня я расскажу, как в Linux можно аккуратно (и не очень) завершить процесс. Без лишней сухости, но с примерами и личными наблюдениями. Поехали.
Сначала нужно понять, кого мы вообще убиваем
Перед тем как вытащить меч и с криком «kill -9!» бросаться в бой, стоит хотя бы узнать, кого именно вы собираетесь уничтожить. Для этого нам нужно найти процесс. Сделать это можно несколькими способами и вот тут начинается веселье.
1. Команда ps
Старая добрая ps
это как дед в деревне: простая, но надёжная. Она показывает список всех процессов. Если вы просто введёте ps
, то увидите жалкий список вроде пары строчек это только ваши собственные процессы. А вот если добавить немного магии, например, ps -aux
, тогда Linux вывалит на экран всё, что шевелится в системе. И да, этого «всё» может быть чертовски много.

В выводе есть имена пользователей, PID (идентификатор процесса), процент загрузки процессора и кучу другой полезной информации. Главное не бойтесь всего что там написано. С первого взгляда это выглядит как хаос, но если приглядеться, всё логично и просто.
2. Команда pgrep
Если ps
это старый дед, то команда pgrep
это его продвинутый внук. Он умнее тоже самое только современнее и красивее. Вместо того чтобы разбираться в простыне вывода, можно просто спросить у системы: «Эй, покажи мне все процессы с именем firefox». Команда pgrep firefox
вернёт PID, а если добавить -l
, то и имя процесса. Удобно, особенно когда в системе десятки служб, а вам нужно найти одну-единственную.

Кстати, можно даже искать процессы конкретного пользователя через pgrep -u username
. Это как фильтр в магазине: убираешь всё ненужное и оставляешь только то, что интересно.
3. Команда pidof
Её часто путают с pgrep
, но у pidof
задача проще: она просто возвращает PID конкретной программы. Например, pidof snapd
. Всё, без изысков. Иногда меньше делает лучше.
4. И наконец, команда top
Если вы хотите увидеть всё вживую, а не просто цифры на экране, то top
это ваш выбор. Это как диспетчер задач в Windows, только в консоли. Открываете, и перед вами прям вся жизнь системы: кто, что и сколько жрёт. ЦП, память, аптайм, прям все всё под рукой. Можно даже сортировать по нагрузке и убивать процессы прямо оттуда (нажмите k и введите PID). Удобно, но требует осторожности. Однажды я случайно убил не тот процесс и… скажем так, сайт setiwik стал недоступным.

Когда пора действовать: команды для завершения процессов
Хорошо, процесс найден. Что дальше? О вот дальше самое интересное. Мы будем его завершать. Но тут есть тонкости. В Linux не просто так придумал разные сигналы: можно попросить процесс умереть «по-хорошему» (SIGTERM) или убить процесс кувалдой (SIGKILL). Выбор за вами, но лучше начинать с мягкого подхода.
1. Базовый способ kill
Самая простая команда это kill
. Указываете PID и система отправляет сигнал SIGTERM. Например:
kill 1234
Если процесс культурный, он поблагодарит, сохранит данные и уйдёт. Но бывают случаи, когда культурой там и не пахнет.
Тогда в ход идёт тяжёлая артиллерия:
kill -9 1234.
Это уже SIGKILL без компромиссов и пощады. Процесс мгновенно вырубается, даже если он сопротивляется. Только будьте осторожны: все несохранённые данные пропадут, как файлы после rm -rf.
2. Убиваем по имени killall
А вот это уже массовое оружие. Команда killall firefox
завершит все процессы с именем firefox. Если у вас запущено пять вкладок браузера, можете попрощаться со всеми сразу. Иногда удобно, но иногда, а иногда чересчур. Чтобы не наломать дров, можно добавить флаг -i
, тогда система спросит подтверждение перед убийством каждого процесса. Мелочь, а спасает нервы.
Есть и другие фишки: например, killall -o 15m
убьёт все процессы, которые живут дольше 15 минут. Очень полезно, если какая-то фоновая служба зациклилась.
3. pkill умный убийца
Команда pkill
это что-то среднее между pgrep
и killall
. Она ищет процесс по имени (или шаблону) и тут же его завершает. Например:
pkill -u user firefox
Эта команда убьёт Firefox только у конкретного пользователя. А флаг -n
позволяет выбрать самый новый процесс. Очень удобно, когда у вас куча одинаковых служб, и нужно остановить только последнюю запущенную.
4. xkill — графический способ
Если вы не любите копаться в терминале, xkill
это почти волшебство. Запускаете команду, курсор превращается в крестик, и вы просто кликаете по зависшему окну. И всё окно уходит в небытие. Пользователи GNOME и KDE часто даже не знают, что это встроенная функция, но работает она прекрасно.
Советы из личного опыта
- Не злоупотребляйте
kill -9
. Да, он работает всегда, но часто оставляет «мусор» в памяти. - Если не знаете PID, начните с
pgrep
илиtop
это быстрее, чем рыться в спискахps
. - Помните: под root вы можете убить вообще всё, включая саму систему.
Заключение
Завершение процессов в Linux это вроде бы банальная вещь, но в ней куча нюансов. Как в жизни: можно уволить сотрудника по-хорошему, а можно выставить за дверь. SIGTERM это разговор с сотрудником, SIGKILL увольнение по статье. Лучше всегда начинать с первого.
На практике вы будете использовать все эти команды вперемешку: ps
для поиска, kill
для точечных ударов, killall
и pkill
, когда нужно быстро навести порядок, и xkill
когда просто не хочется возиться. Со временем это становится интуитивным, как Ctrl+Alt+Del в Windows.
А если процесс всё равно не умирает, тогда значит, не в нём дело. Возможно, система просто устала. Перезагрузка, как и кофе, решает больше, чем кажется.
Не бойтесь экспериментировать. Linux это система, которая не ломается от любопытства, а наоборот, учит вас думать. И чем больше вы с ней работаете, тем больше понимаете: за каждым процессом стоит маленькая история… иногда грустная, но всегда познавательная.
Понравилась статья?
Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик — и ваш вклад помогает держать серверы включёнными и авторов мотивированными!
Поддержать проектСпасибо, что вы с нами!