问题

[root@bxy2 ~]# umount /data 
umount: /data: 目标忙.

解决方法

使用工具

fuser使用文件或文件结构识别进程

实践

[root@bxy2 ~]# fuser -mv /data/
                     用户     进程号 权限   命令
/data:               root     kernel mount /data
                     root      954532 ..c.. bash
[root@bxy2 ~]# kill -9 954532
[root@bxy2 ~]# umount /data 
[root@bxy2 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  1.8T  0 disk 
├─sda1            8:1    0  500M  0 part /boot/efi
├─sda2            8:2    0    1G  0 part /boot
└─sda3            8:3    0  1.8T  0 part 
  ├─klas-root   252:0    0  200G  0 lvm  /
  ├─klas-swap   252:1    0   32G  0 lvm  [SWAP]
  ├─klas-backup 252:2    0   50G  0 lvm  /backup
  └─klas-data   252:3    0  1.5T  0 lvm  

补充说明

fuser命令 用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。

每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。

  • c:指示进程的工作目录。
  • e:指示该文件为进程的可执行文件(即进程由该文件拉起)。
  • f:指示该文件被进程打开,默认情况下f字符不显示。
  • F:指示该文件被进程打开进行写入,默认情况下F字符不显示。
  • r:指示该目录为进程的根目录。
  • m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。