Android 用のカスタム ファイル アクセス ロガーを作成しようとして問題が発生しています。FileObseverを確認しましたが、特定のファイル リストにアクセスしたプロセスの PID (USERID も有用です) を取得する必要があります。
私もさまざまなオプションを試しましたが、成功しませんでした。
特定のファイルにアクセスした PID でログを記録することはできますか?
よろしく!
Android 用のカスタム ファイル アクセス ロガーを作成しようとして問題が発生しています。FileObseverを確認しましたが、特定のファイル リストにアクセスしたプロセスの PID (USERID も有用です) を取得する必要があります。
私もさまざまなオプションを試しましたが、成功しませんでした。
特定のファイルにアクセスした PID でログを記録することはできますか?
よろしく!
PID レポートを Linux の inotify() メカニズム (FileObserver がおそらく基づいているもの) に追加することについていくつかの議論がありましたが、それが実際にマージされて Android に継承されたのか、最初の検索からはわかりません。だった場合、管理者権限を持つモニターの外部 UID に対してのみ機能する可能性があります。
FileObserver を試してから、/proc を介して fd をスキャンすることで lsof を真似ることができます。これは、Android で許可されている範囲 (限定されていますか?) に限られます。ただし、これにより競合状態の問題が発生します。「誰がそれを行ったか」が表示される前に、ファイルが再び閉じられる可能性があります。
これを本当にやりたい場合は、カスタム ROM が必要になる可能性があります。必要なパッチを inotify に適用して、セキュリティ アプリにアクセス許可を付与するか、(そうしたい場合は) レポートのアクセス許可チェックを無効にすることができます。
パッチについてわかったこと - 現在のマージ状況は不明:
http://lwn.net/Articles/307536/
inotify() の直接使用の概要 (PID レポートなし):