在 mmap 相同文件后删除 tmpfs(/dev/shm) 中的文件

delete file in tmpfs(/dev/shm) after mmap the same file

我做了一些搜索,但没有找到类似的问题。 这是我的步骤:

  1. 将文件复制到 /dev/shm (tmpfs)
  2. mmap 带锁的文件
  3. 从该文件读取数据
  4. 删除文件

第4步之后,之前加载的数据还在,为什么? 提前致谢

在 Unix 上,直到每个剩余进程 closes/munmaps 它才会删除文件的数据。

由于您已打开文件并拥有活动句柄或映射到该文件,因此您可以根据需要继续读取和写入文件数据。在您关闭它之前,它不会被释放。