【问题标题】:File locked by which process (android)?文件被哪个进程(android)锁定?
【发布时间】:2012-07-06 11:23:47
【问题描述】:

目前我正在开发一个 android 应用程序,其中我在 sdcard 上有一个文件,我必须找出所有正在访问该文件的进程的进程 ID。

使用 android.os.FileObserver 我们只能知道文件是否被任何进程访问。但是如何获取该进程的进程ID?

【问题讨论】:

    标签: java android


    【解决方案1】:

    我认为通过 Android SDK 是不可能的。

    您可能正在寻找的是lsof(系统)命令。不幸的是,它在 Android 4.0 下的大多数股票 ROM 上不可用。根据similar question 下的评论,ICS 有一个补丁来添加基本的lsof 支持。我有运行 4.0.3 的 Galaxy Nexus,我看到我的手机上有 lsof 命令。您也可以安装 BusyBox 来安装lsof(或要求您的应用程序的用户安装它)。

    假设您的手机上有lsof,您可以解析输出运行命令:

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

    【讨论】:

      猜你喜欢
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2013-07-17
      • 2013-08-11
      • 1970-01-01
      相关资源
      最近更新 更多