【Android】killProcessesWithOpenFiles回顾

128 篇文章 0 订阅
39 篇文章 1 订阅

如何查看一个文件被哪个进程打开(占用)呢?

在之前的介绍http://blog.csdn.net/aaajj/article/details/51854015里,讲解了killProcessesWithOpenFiles的实现流程。

这里我们再回顾下找的过程。


在Android(Linux)系统中,/proc里面有进程的相关信息,

比如有123, 124,125这样的以进程号命名的文件,

这样的文件里,又有一个名为fd的目录,里面存放的是该进程打开的文件的记录,采用链接文件来表示的,如

lr-x------ root    root              2015-05-02 14:30    199 ->/mnt/asec/com.netease.newsreader.activity-2/base.apk

文件名199,表示打开的/mnt/asec/com.netease.newsreader.activity-2/base.apk的文件描述符fd是199

了解了这些后,就能够理解如何查找文件被哪个进程打开了。

遍历/proc目录下的所有进程文件(文件名为数字形式的),查看里面fd路径下的链接文件是否有要查找的文件即可。

这种方法是通过系统级方法,在所有打开的文件中进行查找,来查看是哪个进程打开的给定文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值