更改内存映射文件的文件名
是否可以更改已打开的内存映射文件的名称, 或者,我是否需要关闭它,重命名它,然后再次映射它?
Is it possible to change the name of an already open memory mapped file,
or, do I need to close it, rename it and then mmap it again?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在文件打开时重命名它是可以的,无论它是否已映射。
在类 UNIX 系统中,文件本身的概念与名称(称为“链接”)不同。一个文件可能有零个、一个或多个单独的名称。当您打开一个文件时,您所引用的是文件本身 - 可以更改或删除名称(文件将保持打开状态)。
Renaming a file while it is open is fine, regardless of whether it is mmaped or not.
In UNIX-like systems, the concept of the file itself is distinct from the name (which is called a "link"). A file may have zero, one, or many separate names. When you have a file open, it is the file itself that you have a reference to - it's OK to change or remove the name (and the file will remain open).