👁 Когда пишешь скрипты для администрирования или автоматизации, часто бывает полезно ловить сигналы системы (например, когда нужно завершить процесс или очистить ресурсы перед выходом). Bash предоставляет для этого встроенную команду trap, которая позволяет обработать сигналы, такие как SIGINT (Ctrl+C) или SIGTERM (завершение процесса).
📝 Пример кода:
#!/bin/bash
# Функция для очистки ресурсов
cleanup() {
echo "Очистка ресурсов перед завершением..."
# Здесь может быть код для очистки файлов, остановки сервисов и т.д.
}
# Ловим сигналы SIGINT (Ctrl+C) и SIGTERM (kill)
trap cleanup SIGINT SIGTERM
# Основной процесс
echo "Запуск долгого процесса..."
sleep 60 # Симуляция долгой работы
echo "Процесс завершен"📌 Как это работает:
- В этом скрипте используется команда
trap, чтобы отловить сигналыSIGINTиSIGTERM - Когда скрипт получает сигнал, например, если пользователь нажимает
Ctrl+Cили процесс убивается через командуkill, выполняется функцияcleanup - Внутри функции
cleanupможно прописать код для очистки файлов, завершения процессов или других необходимых действий перед выходом
❗️ Особенно полезно для долгих или критичных задач, когда нужно гарантировать, что они завершатся корректно, даже если скрипт был прерван.
tags: #bash #linux #полезно
❤️ @recura_tech



