开发者社区> 问答> 正文

linux下如何umount正在被进程访问的磁盘

不能使用lsof之类工具找出访问磁盘的进程,要求使用linux api找出所用访问磁盘的进程,并kill。

展开
收起
a123456678 2016-06-12 10:53:42 2164 0
1 条回答
写回答
取消 提交回答
  • 我自己想了下,linux应该是没有原生API可以实现的,至于lsof和上面的fuser之类的实现原理,应该是遍历/proc/下面所有pid的fd目录,该目录下的连接文件的路径匹配磁盘路径,说明该进程占用了磁盘。举例:

    ~ # ls -l /proc/$pid/fd/
    lr-x------    1 root     root            64 Dec 31 09:23 0 -> /dev/null
    lrwx------    1 root     root            64 Dec 31 09:23 1 -> /dev/console
    lrwx------    1 root     root            64 Dec 31 09:23 2 -> /dev/console
    l-wx------    1 root     root            64 Dec 31 09:23 3 -> /media/sdcard/xx
    2019-07-17 19:33:27
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载