stringtranslate.com

Временный файл

Временный файл — это файл, созданный для временного хранения информации, либо для промежуточного использования программой, либо для передачи в постоянный файл после завершения. [1] Он может быть создан компьютерными программами для различных целей, например, когда программа не может выделить достаточно памяти для своих задач, когда программа работает с данными, размер которых превышает адресное пространство архитектуры , или как примитивная форма межпроцессного взаимодействия .

Вспомогательная память

Современные операционные системы используют виртуальную память , однако программам, использующим большие объемы данных (например, для редактирования видео ), может потребоваться создание временных файлов.

Межпроцессное взаимодействие

Большинство операционных систем предлагают примитивы, такие как каналы , сокеты или разделяемая память, для передачи данных между программами, но часто самый простой способ (особенно для программ, следующих философии Unix ) — это записать данные во временный файл и сообщить принимающей программе местоположение временного файла.

Создание

Операционные системы и языки программирования обычно предоставляют функции для получения уникальных временных имен файлов.

В системах POSIX временные файлы можно безопасно создавать с помощью функций библиотеки mkstempили tmpfile. Некоторые системы предоставляют бывшую программу POSIX (теперь удаленную) mktemp(1). Эти файлы обычно находятся в стандартном временном каталоге /tmpна машинах Unix или %TEMP%(что зависит от входа в систему) на машинах Windows.

Временный файл, созданный с помощью, tmpfileавтоматически удаляется при выходе из программы или закрытии файла. Чтобы сгенерировать имя временного файла, которое сохранится после окончания срока службы создающей его программы, можно использовать tmpnam(POSIX) или (Windows).GetTempFileName(...)

Проблемы

Некоторые программы создают временные файлы, а затем оставляют их - они их не удаляют. Это может произойти из-за сбоя программы или из-за того, что разработчик программы просто забыл добавить код, необходимый для удаления временных файлов после того, как программа закончит с ними работать. Оставшиеся временные файлы могут накапливаться со временем и занимать много места на диске.

Временные файлы можно удалить вручную. Операционные системы могут очищать временный каталог при перезагрузке, и у них могут быть «чистящие» скрипты, которые удаляют файлы, если к ним не обращались в течение определенного времени. Кроме того, файловые системы на основе памяти, такие как tmpfs , по своей сути не сохраняют файлы при перезагрузке.

Смотрите также

Ссылки

  1. ^ "Временные файлы Windows". Служба поддержки Microsoft . 7 июля 2005 г. Архивировано из оригинала 20 апреля 2010 г. Получено 20 октября 2019 г.