目前我正在开发一个Android应用程序,其中我在sdcard上有一个文件,我必须找到访问该文件的所有进程的进程ID。
使用android.os.FileObserver我们只能知道文件是否被任何进程访问。但是如何获得该过程的进程ID?
答案 0 :(得分:0)
我认为通过Android SDK无法实现。
您可能正在寻找的是lsof
(系统)命令。不幸的是,它在Android 4.0下的大多数库存ROM上都不可用。根据{{3}}下的评论,ICS有一个补丁,用于添加基本的lsof
支持。我有运行4.0.3的Galaxy Nexus,我看到手机上有lsof
命令。您也可以安装BusyBox来安装lsof
(或要求您的应用程序的用户安装它)。
假设手机上有lsof
,您可以解析输出运行命令:
Runtime.getRuntime().exec(new String[] { "lsof", pathToInterestingFile});