Временный файл — это файл, созданный для временного хранения информации, либо для промежуточного использования программой, либо для передачи в постоянный файл после завершения. [1] Он может быть создан компьютерными программами для различных целей, например, когда программа не может выделить достаточно памяти для своих задач, когда программа работает с данными, размер которых превышает адресное пространство архитектуры , или как примитивная форма межпроцессного взаимодействия .
Современные операционные системы используют виртуальную память , однако программам, использующим большие объемы данных (например, для редактирования видео ), может потребоваться создание временных файлов.
Большинство операционных систем предлагают примитивы, такие как каналы , сокеты или разделяемая память, для передачи данных между программами, но часто самый простой способ (особенно для программ, следующих философии Unix ) — это записать данные во временный файл и сообщить принимающей программе местоположение временного файла.
Операционные системы и языки программирования обычно предоставляют функции для получения уникальных временных имен файлов.
В системах POSIX временные файлы можно безопасно создавать с помощью функций библиотеки mkstemp
или . Некоторые системы предоставляют бывшую программу POSIX (теперь удаленную) . Эти файлы обычно находятся в стандартном временном каталоге /tmpна машинах Unix или %TEMP%(что зависит от входа в систему) на машинах Windows.
Временный файл, созданный с помощью, GetTempFileName(...)
Некоторые программы создают временные файлы, а затем оставляют их - они их не удаляют. Это может произойти из-за сбоя программы или из-за того, что разработчик программы просто забыл добавить код, необходимый для удаления временных файлов после того, как программа закончит с ними работать. Оставшиеся временные файлы могут накапливаться со временем и занимать много места на диске.
Временные файлы можно удалить вручную. Операционные системы могут очищать временный каталог при перезагрузке, и у них могут быть «чистящие» скрипты, которые удаляют файлы, если к ним не обращались в течение определенного времени. Кроме того, файловые системы на основе памяти, такие как tmpfs , по своей сути не сохраняют файлы при перезагрузке.