mmap ():Можно ли предотвратить обратную запись в файл с флагом MAP _SHARED?

Я создал такое дерево каталогов:

.
├── images
│   ├── 1.jpg
│   ├── 2.jpg
│   ├── 3.jpg
│   ├── 4.jpg
│   └── 5.jpg
└── labels
    ├── 1.txt
    ├── 2.txt
    └── 5.txt

Самый простой способ сделать это:

from os import listdir, remove
labels = listdir('labels')
images = listdir('images')
for image in images:
 if '{}.{}'.format(image.split('.')[0], 'txt') not in labels:
  print('Going to remove %s' % image)
  remove('images/%s' % image)
0
19.08.2021, 23:31
1 ответ

тл;др; вы должны использовать файл, который находится только в оперативной памяти

, как и в Linux, — это файлы, возвращаемые memfd_create(2)или при открытии файла из файловой системы tmpfs[1].

В этом случае память будет поддерживаться свопом вместо обычного файла или устройства --, если какой-либо своп настроен. Имейте в виду, что если файл большой, это создаст нагрузку на вашу систему и серьезно снизит ее производительность без каких-либо преимуществ.

NB :Если вы обеспокоены тем, что ваши «секреты» могут быть непреднамеренно записаны в постоянное хранилище, лучше узнайте, какие решения для зашифрованного хранения существуют для вашей системы.

[1] shm_open(3)реализуется в Linux простым открытием файла на tmpfs, смонтированном на /dev/shm.

1
20.08.2021, 10:26

Теги

Похожие вопросы