用fuser或者lsof解决无法umount问题(device is busy)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用fuser或者lsof解决无法umount问题(device is busy)相关的知识,希望对你有一定的参考价值。
umount卸载磁盘时,如果有进程在使用该盘,则卸载不成功,报错如下:
# umount /data umount: /data:目标忙。 (有些情况下通过 lsof(8) 或 fuser(1) 可以 找到有关使用该设备的进程的有用信息)
一、命令介绍
1.fuser
用法 :fuser [-umv] [-k [i] [-signal] ] file/dir
-u:除了进程的PID外 ,同时列出该进程的所有者。
-m:后接的文件名会主动上调到文件系统的所顶层,对umount不成功很有效。
-v:列出每个文件与程序还有命令的完整相关性。
-k:找出使用文件/目录的pid,并试图一sigkill这个信号给予该pid.
-i:与,-k合用,kill前询问用户意愿。
-signal:1,15,9
可用于在无法umount文件时,查看pid,并杀死进程见下面的例子
# fuser /var/www/html/centos/ /var/www/html/centos/: 9807c # ps -aux|grep 9807 Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ root 9807 0.0 0.0 108428 2000 pts/2 Ss+ 14:52 0:00 -bash root 10003 0.0 0.0 103240 896 pts/3 S+ 15:05 0:00 grep 9807 [[email protected] ~]# kill -9 9807 [[email protected] ~]# umount /var/www/html/centos/
2.lsof
用法:lsof [-aUu] [+d], 一个奇怪的命令,
-u:后接username;
+d:后接目录,找出某个目录下面已经被打开的文件。
# lsof +d /data COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 99174 root cwd DIR 8,17 4096 2 /data # ps aux |grep 99174 root 99174 0.0 0.0 116756 3456 pts/0 Ss+ 09:29 0:00 -bash root 100513 0.0 0.0 112664 968 pts/5 S+ 16:47 0:00 grep --color=auto 99174 #kill -9 99174 #umount /data
以上是关于用fuser或者lsof解决无法umount问题(device is busy)的主要内容,如果未能解决你的问题,请参考以下文章