2013-01-21 90 views
5

如何在Ubuntu Linux下使用python写入另一个进程的地址空间? 我的尝试:Python:在linux下写入另一个进程的内存

1)使用虚拟文件/ proc/$ PID/mem并寻找地址。我已经成功地使用它来读取内存,但试图写入导致IO错误:

fd=open("/proc/"+pid+"/mem","r+") 
fd.seek(address,0) 
fd.write("ABC") 

输出:

IOError: [Errno 22] Invalid argument 

2)试图使用Python-ptrace的图书馆在其他线程建议。但是,我找不到优秀的文档或示例代码。

注意:这不是权限问题,以root用户身份运行时会产生相同的行为。

+1

'rw'不是'open()'的有效模式值。要打开一个阅读和写作文件,你必须使用'r +'来代替。 –

+1

你确定使用显式IPC(它可以包含共享内存btw)不太合适吗? –

+0

将'rw'更改为'r +',但我仍然得到一个IOError – user1998059

回答

相关问题