2012-07-06 49 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}); 
相关问题