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

近期在对大数据系统做备份迁移的时候,首次使用上了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

以上,希望能帮到大家

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值