1.问题

在备份的时候遇到了无法取消挂载的情况. umount 目录时会提示: 设备正忙,

umount.nfs: /tmp/backup: device is busy,

2.故障复现

使用Centos7虚拟机, 占用/home目录.

0e5f5195dfaf20d08576b91a66313a25.png

3.解决方法

使用fuser命令

fuser可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。

没有fuser命令的可以用 yum install psmisc 安装.

root@root-Lenovo:~$ fuser -help

用法:fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n 命名空间]

[-k [-i] [-信号]] 名字...

fuser -l

fuser -V

显示哪些进程使用指定的文件、端口或文件系统。

-a,--all 也显示未使用的文件

-i,--interactive 杀死程序前询问 (未指定 -k 选项时被忽略)

-I,--inode 总是使用 inode 来比较文件

-k,--kill 杀死访问指定文件的进程

-l,--list-signals 列出可用的信号名

-m,--mount 显示所有使用指定文件系统或块设备的进程

-M,--ismountpoint 只在 为挂载点时完成要求

-n,--namespace 空间 在指定命名空间中查找 (file、udp 或 tcp)

-s,--silent 不输出信息

-信号 发送指定的 "信号" 而不是 SIGKILL

-u,--user 显示用户 ID

-v,--verbose 输出更多信息

-w,--writeonly 只杀死有权写入的进程

-V,--version 显示版本信息

-4,--ipv4 仅查找 IPv4 套接字

-6,--ipv6 仅查找 IPv6 套接字

- 重置选项

udp/tcp 名字格式: [本地端口][,[远程主机][,[远程端口]]]

3.1 -m 显示使用指定文件系统的进程

[root@MyCloudServer ~]# fuser -mv /home/

bdfb132839a995438dd57224894284fd.png

3.2 杀死占用的进程

[root@MyCloudServer ~]# kill -9 2433

[root@MyCloudServer ~]# umount /home/

a744a05637ab261b018520afe2d5ea37.png

成功卸载!

Logo

更多推荐