mktemp
создает файлы в /tmp
(по умолчанию). Во многих дистрибутивах /tmp
является постоянным (то есть с резервным копированием на диске, а не с поддержкой памяти).
Что вы ищете, это создать файл на жестком диске с поддержкой памяти. Обычно это монстры tmpfs
. Например, на моем Arch Linux ноутбук, мои TMPFS монтирует:
$ mount | grep tmpfs
[..]
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
Так в этой системе, я могу открыть и записывать файлы в /dev/shm/
на /run
и они будут подкреплены моей памяти, они не будут сохраняются через ботинки, и доступ будет быстрым и дешевым.
На ваш вопрос, возможно, вы можете изменить каталог, используемый mktemp
. Цитируя страницу человека:
-p DIR, --tmpdir[=DIR]
interpret TEMPLATE relative to DIR; if DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be
an absolute name; unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component
EDIT - еще несколько вещей:
- все это распределение зависит от способа; другие распределения могут устанавливаться
tmpfs
по адресу /tmp
.
- интересно,/dev/shm, где хранятся объекты общей памяти, созданные с помощью
shm_open
.
Есть ли в базе данных или данные? –
@AndrewHenle Нет информации в файле, это будет просто использоваться, чтобы узнать, был ли процесс, который этот процесс появился в первый раз после загрузки или повторного появления после сбоя – Manoj
(create and) сегмент разделяемой памяти. Они сохраняются после процесса (или сбоя), но не перезагружаются. – wildplasser