В POSIX системах перед прибитием ОС должна посылать сигнал
https://ru.wikipedia.org/wiki/SIGTERM
В Windows есть похожий механизм
Судя по тегу STM32, у вас какая то ОС установлена? Смотрите документацию по реализации TASK MANAGER и SIGTERM если реализован, то вставьте обработчик и в нем закрывайте файлы