linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
Index
Categories
All entries
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
home/linux/kb/Процессы и ресурсы/signals

kb/processes ── Процессы и ресурсы ── beginner

Сигналы (SIGTERM, SIGKILL, SIGHUP)

Сигнал - асинхронное уведомление процессу от ядра или другого процесса. TERM - попроси завершиться, KILL - убей сразу, HUP - перечитай конфиг.

view as markdownaka: signal, sigterm, sigkill, sighup, sigint

Что такое сигнал

Сигнал - это маленькое целое-число-уведомление, которое ядро доставляет процессу. Процесс может обработать сигнал (поставить handler), проигнорировать или ничего не делать - тогда работает действие по умолчанию (которое обычно «завершиться»).

Самые важные сигналы

сигнал№дефолтное действиекогда отправляется
SIGHUP1terminateTTY закрылась; сервисам - «перечитай конфиг»
SIGINT2terminateCtrl+C в терминале
SIGQUIT3core dumpCtrl+\
SIGKILL9terminateпрямое уничтожение, нельзя обработать или проигнорировать
SIGTERM15terminateстандартное «завершись пожалуйста»
SIGSTOP19stopприостановить, нельзя обработать
SIGCONT18continueпродолжить остановленный
SIGUSR1/210/12terminateдля приложения; часто используется чтобы дать команду без перезапуска
SIGPIPE13terminateпишешь в pipe чей читатель закрылся
SIGCHLD17ignoreдочерний процесс завершился - wait() надо
SIGSEGV11core dumpобращение к невалидной памяти

Правильный паттерн остановки

Сначала TERM, дай несколько секунд на graceful-завершение, потом KILL:

bash
kill <pid>            # послать TERM
sleep 5
kill -KILL <pid>      # если ещё жив - добить

Хороший сервис на TERM закрывает приёмные сокеты, доделывает текущие запросы, скидывает буферы, сохраняет state. Прямой kill -9 рвёт это всё - потерянные транзакции, битые файлы, висящие БД-локи.

Когда какой сигнал использовать

  • TERM - обычное «остановись», твой default
  • KILL - только если TERM не сработал
  • HUP для daemons - «перечитай конфиг» (nginx, syslog)
  • USR1/2 - приложение может дать что угодно: например, nginx USR1 = ротация лога
  • STOP/CONT - пауза/возобновление; полезно для long-running batch'ей

Где это всё настраивается

В bash сигналы переопределяются через trap:

bash
trap 'echo got SIGINT; exit 1' INT
trap 'cleanup; exit' EXIT

§ команды

bash
kill -l

Список всех сигналов с номерами

bash
kill -TERM 1234

Послать SIGTERM конкретному PID

bash
pkill -HUP nginx

Послать SIGHUP всем процессам по имени (nginx → перечитать конфиг)

bash
killall -9 chrome

По имени, всем процессам, форсированно SIGKILL - крайняя мера

bash
trap 'echo bye' EXIT

В bash установить обработчик сигнала EXIT - выполнится при завершении шелла

§ см. также

  • process-and-pidПроцесс и PIDПроцесс - это запущенная программа со своим PID, памятью, открытыми дескрипторами и UID. Все процессы образуют дерево, корень - init (PID 1).
  • oom-killerOOM killerOOM killer - механизм ядра, который выбирает и завершает процесс когда система упирается в лимит памяти. В контейнерах работает per-cgroup.
  • cmd-psps - снимок процессовps - снимок процессов в момент вызова. Два диалекта: BSD (`aux`, без дефиса) и UNIX (`-ef`, с дефисом). `-o` задаёт колонки. Для непрерывного просмотра - [[cmd-htop|htop]].
  • cmd-htophtop - интерактивный монитор процессовhtop - интерактивный TUI-монитор процессов. F-keys: F3 поиск, F4 фильтр, F5 дерево, F6 сортировка, F9 kill. Цветовые столбцы наверху, список внизу. Замена top'а везде, где доступен.

§ упоминается в уроках

  • ›advanced-06-ebpf-trace
  • ›beginner-05-permissions
  • ›beginner-07-processes-and-signals
  • ›beginner-09-environment-and-shell
  • ›intermediate-07-debugging-with-proc
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки