使用mmap共享内存

问题描述

我试图了解mmap如何与共享内存相关联。 MAP_SHARED标志是否禁用写时复制?因为如果是这样,任何恶意进程都可能会更改共享库。 谢谢。

解决方法

是的,当使用MAP_SHARED标志时,写入时不应有任何副本-如果您写入映射的位置,则使用该映射的其他进程将看到对映射的所有更改,并且最终备份文件将也要进行更新。话虽如此,我相信共享库通常是由动态加载程序通过MAP_PRIVATE(使用写页面上的副本进行更新)映射的,如another answer here中所述。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...