【问题标题】:Changing the filename of a memory mapped file更改内存映射文件的文件名
【发布时间】:2010-08-23 04:27:47
【问题描述】:

是否可以更改已打开的内存映射文件的名称, 或者,我需要关闭它,重命名它然后重新映射它吗?

【问题讨论】:

    标签: linux mmap


    【解决方案1】:

    在文件打开时重命名文件是可以的,不管它是否被映射。

    在类 UNIX 系统中,文件本身的概念不同于名称(称为“链接”)。一个文件可能有零个、一个或多个单独的名称。当您打开文件时,您引用的是文件本身 - 可以更改或删除名称(文件将保持打开状态)。

    【讨论】:

    • 谢谢,这实际上很有意义,因为您可以在内存映射时对文件进行 mmap 并关闭文件描述符。我会试试看。
    • 是的,在它打开和/或 mmap'd 时重命名它没有问题,它将保持打开和映射。即使您取消链接,它仍然会继续工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2011-07-30
    相关资源
    最近更新 更多