我开始使用mmap。我正在尝试创建一个示例工作空间,然后将其扩展到实际情况。
这是我想要实现的:
进程1:
- mmap文件(实际上是设备,但使用文本文件生成示例也可以)
进程2:(不是从进程1派生出来的;只是一个独立的进程)
- 读取由进程1映射的内存
- 更改一些位
- 将其写入新文件
我已经阅读了几个示例和文档,但仍然找不到如何实现这一点。我缺少的是:
- 进程2如何访问由进程1映射的内存,而不知道任何有关打开的文件的信息?
- 如何将mmap内容放入新文件中?我想我必须ftruncate一个新文件,mmap此文件,并将进程1内存映射的内容复制到进程2内存映射中(然后msync)
附加信息,我在两个进程之间打开了消息队列,因此它们可以共享一些消息(例如,内存地址/大小等)。
有什么提示吗?
提前致谢!
MIX