平台:亚马逊云
系统:centos7
之前因为业务需要在/data 下挂载了一块100G数据盘,长时间没有使用,需要回收掉,umount卸载的时候卸载不掉
进入/data目录下查看,没有文件写入
umount卸载提示磁盘繁忙
解决办法:使用fuser命令先查看该目录正在被那个进程占用着
fuser -m -v /data/
运行下面命令杀掉占用此设备的进程
再次查看就显示没有被ec2-user这个用户占用
我们也可以根据查询到的pid号来进一步查看是什么程序占用的,然后就可以进一步解决
现在没有被用户占用我们就直接umount卸载
这次卸载很顺利
========================================================================
fuser参数介绍:
-k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。
-i 杀掉进程之前询问用户,如果没有-k这个选项会被忽略。
-v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel.
-m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。
fuser不仅可以查询挂载磁盘被那个程序占用,还可以查询端口被那个程序占用