2012-05-10 68 views
0

我有trobule嘗試爲Android創建自定義文件訪問記錄器。我檢查了FileObsever,但我需要獲得訪問某個文件列表的進程的PID(USERID也是有用的)。在Android中記錄文件訪問

我也試過不同的選擇,但沒有成功。

是否可以使用PID訪問某些文件?

問候!

回答

0

已經有一些關於爲Linux inotify()機制添加PID報告的討論(這是FileObserver推測基於的機制),但是我並沒有從初始搜索中發現它是否實際合併並由Android繼承 - 如果是這樣,它可能只適用於具有管理權限的顯示器的外部UID。

您可以嘗試FileObserver,然後通過掃描fd's的/ proc來模仿lsof,以適應Android允許的任何(有限?)範圍。然而,這會給你帶來競爭條件問題 - 在你看到「誰完成了」之前,文件可能會再次關閉。

如果你真的想這樣做,你需要一個自定義ROM--你可以應用任何必要的補丁來進行inotify,或者用權限保護你的安全應用,或者(如果你喜歡這樣)禁用權限檢查報告。

我發現什麼補丁 - 當前合併狀態未知:

http://lwn.net/Articles/307536/

簡介直接使用的inotify(的)(沒有PID報告):

http://www.linuxjournal.com/article/8478?page=0,0