解决 umount時出現的 “Device is busy”
Mar
10
解决 umount時出現的 “Device is busy”
在 Linux 系列 OS 安装好之后,都会有支持一个 fuser 这一个指令,那有时候在 linux 底下 mount CDROM,或者是其它硬件的时候,有时候没办法让您移除,会出现:『Device is busy』,那这个讯息是在保护确保你的数据有储存到该装置,有时候如果没有正确移除,会造成数据遗失,或者是数据不完整,那基本上装上任何一套 Linux 操作系统,都会有支持了,所以不必在另外安装。
fuser可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细讯息。
假设无法卸载的设备为/var,运行下列命令即可:
$ fuser -m -v /var
用户进程号权限命令
[root@tet ~]# fuser -m -v /var
USER PID ACCESS COMMAND
/var: root 2003 F…. auditd
root 2037 F…. syslogd
root 2114 F…m pcscd
root 2230 F.c.. master
postfix 2241 F.c.. qmgr
root 2248 F.c.. crond
root 2568 F.c.. atd
root 2659 ..c.. named
postfix 4230 F.c.. pickup
-m 参数显示所有使用指定文件系统的进程,后面可以跟挂载点,或是dev设备,-v参数给出详细的输出,可以看出,原来是gqview这个程序还在霸占着移动设备,fuser还给出了程序的进程号,知道了进程号,你就可以随便怎么处置这个程序了。
另外你也可以添加一个-k参数:
fuser -m -k /var
这招自动把霸占着/var的程序杀死。如果你不是很明确是否要杀死所有霸占设备的程序,你还可以加一个-i参数,这样每杀死一个程序前,都会询问:
$ fuser -m -v -i -k /var
用户进程号权限命令
/var: galeki 2659 ..c.. named
杀死进程2659 ? (y/N)
接下来需要做的就是将相关进程停掉,再umount即可。
原来umount 还有一个-l选项,作用是当需卸载文件系统的引用不繁忙时直接卸载


















No Comments »
No comments yet.
RSS feed for comments on this post. TrackBack URI
Leave a comment
If you want to leave a feedback to this post or to some other user´s comment, simply fill out the form below.