鍍金池/ 問答/C  C++  Linux/ 讀取其他進程的內(nèi)存

讀取其他進程的內(nèi)存

情景如下:
進程1由三方代碼寫了一些數(shù)據(jù)在內(nèi)存mem中
對該模塊二次開發(fā), 無法修改已有代碼, 但是可以在進程內(nèi)讀取這些數(shù)據(jù)
需求是這些數(shù)據(jù)需要共享出來, 由多個不同的進程讀取(只讀不寫)

之前的實現(xiàn)是進程1中shmget()創(chuàng)建了一個共享內(nèi)存shm, 實時從mem復(fù)制數(shù)據(jù)到shm
進程2中就可以shmat()映射到同一共享內(nèi)存

問題:
因為數(shù)據(jù)更新頻率很高, 這種實現(xiàn)方式效率較低
有沒有什么好的方法將進程1的mem暴露出來

clipboard.png

回答
編輯回答
情已空

可以使用管道或local套接字,構(gòu)建有一個cs架構(gòu)來處理

2018年1月9日 23:17
編輯回答
淺時光

老老實實走進程間通信吧。
操作系統(tǒng)對于這種越界內(nèi)存讀取是直接KO的。
同時mark,看看有沒有更好的答案。

2017年4月2日 02:18