linux下fuser使用查看挂载的磁盘都被谁占用

linux下fuser使用查看挂载的磁盘都被谁占用

admin
2021-05-04 / 3 评论 / 101 阅读 / 正在检测是否收录...

近期在对大数据系统做备份迁移的时候,首次使用上了8T的移动硬盘,发现随着的科技的进步,硬件的存储能力已经提升到了一个相当大的地步,好了今天就是基于移动磁盘挂载后处理完数据,想要卸载磁盘却提示磁盘正忙而引发的问题。

通常我们挂载磁盘后,在文件系统中可以很清晰的了解到当前的磁盘都挂载到哪个目录下,通过df 命令:

[root@localhost data]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  4.7G   46G   10% /
devtmpfs                  16G     0   16G    0% /dev
tmpfs                     16G     0   16G    0% /dev/shm
tmpfs                     16G   18M   16G    1% /run
tmpfs                     16G     0   16G    0% /sys/fs/cgroup
/dev/sda1               1014M  178M  837M   18% /boot
/dev/mapper/centos-home  1.8T  4.7G  1.8T    1% /home
tmpfs                    3.2G   12K  3.2G    1% /run/user/42
tmpfs                    3.2G     0  3.2G    0% /run/user/0
/dev/sdc1                7.3T  3.8T  3.5T   53% /data
 
# /dev/sdc1就是我的磁盘,当前已经挂载到了/data目录上
 
[root@localhost data]# umount /data
umount: /data:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)

上述在卸载挂载的目录的时候出现目标忙,该问题是由于当前Linux系统是多用户模式,不仅仅是我一个人在登录,其它人也在登录操作,并且正好处于/data目录下面。

我已知该磁盘已经可以卸载,但是有运维人员忘记退出操作目录,那么就需要人为关闭其它人的操作,上述可以有2种方式实现,这里用的是fuser


fuser -uvki /data
                     用户     进程号 权限   命令
/data:               root     kernel mount (root)/data
                     root       2124 ..c.. (root)bash
杀死进程 2124 ? (y/N) y
 
# 关闭使用该目录的进程后,就可以卸载了
fuser 参数:
-u    # 在每个进程后显示所属用户名
-v    # 输出详细信息
-k    # 关闭访问指定文件的所有进程
-i    # 关闭进程前需要用户进行确认操作
 
[root@localhost ~]# umount /data
0

评论 (3)

取消
  1. 头像
    dasdas
    Windows 10 · Google Chrome

    画图

    回复
    1. 头像
      dasdas
      Windows 10 · Google Chrome
      @ dasdas

      表情

      回复
  2. 头像
    ping98
    Windows 10 · Google Chrome

    画图

    回复