cp.lv — VPS, выделенные и облачные серверы

cp.lv (LANGMARKET LLP) — хостинг-провайдер: VPS, выделенные и облачные серверы на NVMe с выбором ОС, полным root-доступом и поддержкой 24/7. Тест-период до оплаты: выделенные серверы — 5 дней, VPS и облако — 5 часов.

Contact Info
LANGMARKET LLP
Rīga, Latvija

+371 00 000 000

Follow Us

Личный кабинет

Язык

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

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

Чтобы завершить процесс в Linux, сначала найдите его PID (идентификатор) командами ps или pgrep, затем отправьте сигнал через kill. Для завершения по имени удобны pkill и killall. Разберём по порядку.

Шаг 1. Найдите процесс

Показать все процессы и отфильтровать по имени через grep:

ps aux | grep nginx

В выводе второй столбец — PID. Более прямой способ — pgrep, который сразу возвращает идентификаторы:

pgrep -a nginx

Флаг -a показывает PID вместе с командной строкой.

Если процесс держит сетевой порт, найдите его по порту:

sudo ss -ltnp | grep :80

Шаг 2. Завершите процесс по PID

Стандартная команда — kill. По умолчанию она отправляет сигнал TERM (15) — вежливую просьбу завершиться, дав процессу сохранить данные:

kill 12345

Если процесс не реагирует, отправьте сигнал KILL (9) — принудительное завершение без возможности сохраниться:

kill -9 12345

Сначала всегда пробуйте обычный kill, и только если процесс завис — -9.

Завершение по имени: pkill и killall

Не обязательно искать PID — можно завершить процесс по имени.

pkill работает по частичному совпадению имени:

pkill nginx
pkill -9 nginx

killall завершает все процессы с точным именем:

killall nginx

Будьте осторожны: pkill php завершит все процессы, в имени которых есть php.

Завершение в htop

Графический способ — через htop:

htop

Найдите процесс (клавиша F3 для поиска), выделите его стрелками и нажмите F9. Выберите сигнал (обычно SIGTERM, затем SIGKILL) и подтвердите.

Основные сигналы

Сигнал Номер Действие
SIGTERM 15 Мягкое завершение (по умолчанию)
SIGKILL 9 Принудительное завершение
SIGHUP 1 Перечитать конфиг / рестарт
SIGINT 2 Прерывание (как Ctrl+C)

Перезагрузить конфигурацию службы без остановки часто можно так:

kill -HUP 12345

Поиск процесса, грузящего систему

Найти самый прожорливый процесс по CPU:

ps aux --sort=-%cpu | head

По памяти:

ps aux --sort=-%mem | head

Частые вопросы

Чем kill -15 отличается от kill -9? -15 (TERM) просит процесс завершиться корректно: закрыть файлы, сохранить данные. -9 (KILL) убивает мгновенно, процесс не успевает ничего сохранить. Начинайте с -15.

Процесс не завершается даже с -9. Что делать? Такое бывает с процессами в состоянии D (непрерываемый сон, обычно ожидание диска). Их нельзя убить, пока не завершится операция ввода-вывода; иногда помогает только перезагрузка.

Как завершить процесс, зная только порт? Найдите PID через sudo ss -ltnp | grep :ПОРТ, затем kill PID. Либо одной командой: sudo fuser -k 80/tcp.

Опасно ли использовать killall? Он завершает все процессы с указанным именем. Проверьте список заранее через pgrep -a имя, чтобы не остановить лишнее.

Итог

Связка ps/pgrep для поиска и kill/pkill для завершения покрывает почти все задачи управления процессами. Правило простое: сначала мягкий TERM, и только для зависших — KILL.

Управляете своим сервером? Возьмите VPS на Linux, оформите аренду VPS или закажите Администрирование серверов, если мониторинг удобнее доверить специалистам.

Ольга Наумова

Ольга Наумова

Ведущий DevOps-инженер. Автоматизирует развёртывание серверов и настраивает KVM-доступ, чтобы клиенты запускались за минуты.