Запускаются ли процедуры очистки, зарегистрированные с atexit(), когда программа завершается отправкой прерывания ( Ctrl + C )?
atexit()
Нет.Вам необходимо установить обработчик для сигнала SIGINT.