读取其他进程的内存

情景如下:
进程1由三方代码写了一些数据在内存mem中
对该模块二次开发, 无法修改已有代码, 但是可以在进程内读取这些数据
需求是这些数据需要共享出来, 由多个不同的进程读取(只读不写)

之前的实现是进程1中shmget()创建了一个共享内存shm, 实时从mem复制数据到shm
进程2中就可以shmat()映射到同一共享内存

问题:
因为数据更新频率很高, 这种实现方式效率较低
有没有什么好的方法将进程1的mem暴露出来

https://img2.mukewang.com/5b53e52f000107aa08000469.jpg

梦里花落0921
浏览 586回答 2
2回答

翻翻过去那场雪

可以使用管道或local套接字,构建有一个cs架构来处理

偶然的你

老老实实走进程间通信吧。操作系统对于这种越界内存读取是直接KO的。同时mark,看看有没有更好的答案。
打开App,查看更多内容
随时随地看视频慕课网APP