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

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
Vufer
незнакомец
Сообщения: 7
Зарегистрирован: 24.10.2013 09:29:52

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

Сообщение Vufer »

Камрады, есть вопрос.
Пишу программулю, которая будет вызывать внешний скрипт, который работает с файлами. Есть промежуточный результат, для оценки выполнения с заданными параметрами. Его неплохо было бы сохранять в папке с временными фалами. Вопрос: как получить от системы путь, дабы потом его скормить скрипту? Кросплатформенность не особо беспокоит, интересует в первую очередь linux.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

А вроде путь стандартный "/tmp", или бывают варианты?
Vufer
незнакомец
Сообщения: 7
Зарегистрирован: 24.10.2013 09:29:52

Сообщение Vufer »

qiviА вот кто его знает... Вдруг варианты? Насколько корректно будет просто гадить в /tmp?
zub
долгожитель
Сообщения: 2894
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

GetEnvironmentVariable('TEMP')
??
Vufer
незнакомец
Сообщения: 7
Зарегистрирован: 24.10.2013 09:29:52

Сообщение Vufer »

zub GetEnvironmentVariable('TEMP') возвращает пустоту.

Добавлено спустя 15 минут 9 секунд:
Всем спасибо, вопрос снят :) Вики говорит, что In Unix and Linux, the global temporary directories are /tmp and /var/tmp.
qivi, вы были абсолютно правы :)
zub
долгожитель
Сообщения: 2894
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

тогда есть еще
GetEnvironmentVariable('TMP')
и тамже
gettempdir
а вот хардкодить такие вещи - не гут
Vufer
незнакомец
Сообщения: 7
Зарегистрирован: 24.10.2013 09:29:52

Сообщение Vufer »

zub, GetEnvironmentVariable('TMP') так же вернул пустоту, полагаю актуально для окошек.
А вот gettempdir как раз то, что нужно, и даже лучше, т.к. может дать пользовательские темпы :)
Хардкодить такие штуки тоже не считаю правильным, потому и задал вопрос.
Премного благодарен.
xdsl
постоялец
Сообщения: 131
Зарегистрирован: 15.01.2009 12:49:03

Сообщение xdsl »

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

Есть конечно tmpfs, которую часто на /tmp монтируют. В оперативной памяти, работает быстро и самоочищается при загрузке ОС. Однако для временного хранения больших файлов - не приспособлена. Например у меня:
$df | grep /tmp
tmpfs 2,0G 196K 2,0G 1% /tmp
Итого - два гига, много не наработаешь.
Ответить