TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #565 724
Работа с сигналами: SIGTERM, SIGINT, SIGHUP

Любой процесс в linux можно остановить сигналом. Если скрипт их не обрабатывает - он просто умирает, иногда оставляя: временные файлы, lock-файлы или незавершённые операции

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

SIGINT - (2) - Ctrl+C
Остановка пользователем

SIGTERM (15) - вежливое завершение - systemctl stop / kill
Дает процессу шанс корректно завершиться.

SIGHUP (1) - перечитай конфиг
часто используется для reload

▪️ Обработка сигналов через trap


trap 'echo "Получен SIGINT"; cleanup; exit 1' INT
trap 'echo "Получен SIGTERM"; cleanup; exit 0' TERM


Теперь скрипт не просто падает, а выполняет cleanup.

▪️ Пример cleanup


cleanup() {
echo "Чистка..."
rm -f /tmp/my.lock
}


▪️ Полный пример


#!/usr/bin/env bash

LOCK=/tmp/job.lock
touch "$LOCK"

cleanup() {
echo "Удаляю lock"
rm -f "$LOCK"
}

trap cleanup EXIT
trap 'echo "SIGINT"; exit 1' INT
trap 'echo "SIGTERM"; exit 0' TERM

while true; do
echo "Работаю..."
sleep 2
done


Теперь:

Ctrl+C - корректное завершение
kill - cleanup выполняется
скрипт не оставляет мусор

Не все сигналы можно перехватить. Нельзя поймать: SIGKILL (9)
Если прилетит kill -9 - все, без cleanup.

BashTex 📱 #scripts #utils
  • 👍 7
More from @bash_tex
  1. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  2. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  3. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  4. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  5. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  6. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →