Автоматическое удаление временных файлов в Linux / Windows

#windows #linux #file

#Windows #linux #файл

Вопрос:

В Linux для автоматического удаления файла при завершении процесса можно использовать следующий метод: процесс создает файл с помощью open или creat, а затем немедленно вызывает unlink. Однако файл не удаляется, поскольку он все еще открыт. Файл удаляется только тогда, когда процесс либо закрывает файл, либо завершается, что приводит к тому, что ядро закрывает все свои открытые файлы.

Есть ли способ получить такой же результат в Windows?

Ответ №1:

Вы можете перейти к CreateFile флагу FILE_FLAG_DELETE_ON_CLOSE .

Комментарии:

1. Да, это так. Windows закрывает открывающиеся файлы при сбое процесса. Таким образом, файловая система удалит файл (когда количество открытых файлов равно нулю).