>_ IzzyLab

Практическое задание

trap: очистка по выходу

средне

Напиши скрипт /root/cleanup.sh, который создаёт lock-файл /root/tmp.lock, а по завершении (сигнал EXIT) через trap его удаляет. После запуска скрипта lock-файла остаться не должно.

Что потренируешь:
  • trap
  • сигнал EXIT
  • bash-скрипт
  • очистка ресурсов
  • lock-файл

Разбор темы

trap 'команда' СИГНАЛ вешает обработчик, срабатывающий при получении сигнала. Псевдосигнал EXIT особый: он выполняется при любом завершении скрипта — штатном или из-за ошибки — что делает его идеальным местом для гарантированной уборки временных ресурсов. Ключевой момент — установить ловушку до создания ресурса, иначе в промежутке между созданием и установкой обработчик не спасёт; а само удаление разумно делать «мягким» (rm -f), чтобы не падать, если файла уже нет.

Что проверяется

  1. в скрипте есть trap на EXIT
  2. после запуска lock-файл удалён

Как это выглядит