2013-01-21 33 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

回答

相關問題