umount时报错:target is busy
原文参考:
https://wenku.baidu.com/view/287519a9e009581b6bd9eb73.html
http://www.ha97.com/1030.html
记录一次在操作阿里云ECS,卸载磁盘时的报错,卸载阿里云的数据盘结果显示:
umount: /home: target is busy.
(In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
咋一看很简单,就是有进程在占用磁盘,那么退出来就可以了,但是经过排查发现没有任何进程占用,这个时候需要用到一个命令:fuser(使用文件或文件结构识别进程)
fuser -m -v /dev/vdb
-m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统;
-v 详细模式,输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel. -V 输出版本号;-k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号;
-a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。