2012-07-06 48 views
0

目前我正在開發一個android應用程序,其中我有一個SD卡上的文件,我必須找出正在訪問此文件的所有進程的進程ID。文件被哪個進程鎖定(android)?

使用android.os.FileObserver我們只能知道文件是否被任何進程訪問。但是如何獲得該進程的進程ID?

回答

0

我認爲這不可能通過Android SDK。

你可能要找的是lsof(系統)命令。不幸的是,它在Android 4.0下的大多數股票ROM中不可用。根據similar question下的評論,ICS增加了基本的lsof支持。我有Galaxy Nexus運行4.0.3,我看到lsof命令存在於我的手機上。您也可以安裝BusyBox來安裝lsof(或要求您的應用程序的用戶安裝它)。

假設你有lsof存在於手機,你可以解析輸出運行命令:

Runtime.getRuntime().exec(new String[] { "lsof", pathToInterestingFile}); 
相關問題