当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 取消挂载 umount 时出现的 “Device is busy”

Unix/Linux
Linux 网管 123 --- 第6章. 一般系统管理问题 -3.变更使用者密码
Linux 网管 123 --- 第6章. 一般系统管理问题 -4.关闭删除使用者帐号
Linux 网管 123 --- 第6章. 一般系统管理问题 -5.Linux 密码及 S
Linux 网管 123 --- 第6章. 一般系统管理问题 -6.关闭系统及重新启动
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -1.HTTP
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -2.DNS
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -3.使用 TACACS
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -4.使用 Samba
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -5.使用 Netata
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -6.NFS
Linux 网管 123 --- 第13章. 其他的问题 2.哪里可以找到帮助
Linux 网管 123 --- 第13章. 其他的问题 3.附带文件的指示
RedHat 6.2 中文显示与输入的设置
RedHat 6.2 中文 TrueType 字体的使用
Linux 网管 123 --- 第13章. 其他的问题 1.系统损毁
Linux系统中网络配置详解
如何配置linux与win2000/NT 双重引导
kernel hacking简单入门
Linux下如何刻录任何文件系统格式的光盘?
编译内核make dep 是啥意思 ?

Unix/Linux 中的 取消挂载 umount 时出现的 “Device is busy”


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 184 ::
收藏到网摘: n/a

在 Linux 下 umount 挂载的优盘或者移动硬盘的时候,经常会出现 “Device is busy” 的提示,哦~真让人恼火,在 Windows 下的那个无法卸载移动设备的问题,竟然也窜到了 Linux 下 ……其实,错误不在 WIndows 也不在 Linux,无法卸载移动设备的原因,是因为系统中还有程序在霸占着移动设备上的文件,如果冒然强制卸载,可能会导致数据丢失和设备损坏,“Device is busy” 是一种保护措施。

既然知道是有程序霸占,找出这个程序再处理一下就好了。 fuser 这个小程序可以派上用场,基本上每个发行版都会带有 fuser 这个工具。

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

假设无法卸载的设备为 /media/USB,运行下列命令即可:

$ fuser -m -v /media/USB/
                                   用户     进程号 权限   命令
/media/BAK/:         galeki      335    ..c..  gqview

-m 参数表明指定的路径是一个挂载点显示所有使用指定文件系统的进程,后面可以跟挂载点,或是dev设备 ( Thanks lisir :),-v 参数给出详细的输出,可以看出,原来是 gqview 这个程序还在霸占着移动设备,fuser 还给出了程序的进程号,知道了进程号,你就可以随便怎么处置这个程序了。

另外你也可以添加一个 -k 参数:

fuser -m -k /media/USB/

这招自动把霸占着 /media/USB/ 的程序杀死。如果你不是很明确是否要杀死所有霸占设备的程序,你还可以加一个  -i 参数,这样每杀死一个程序前,都会询问:

$ fuser -m -v -i -k /media/BAK/
                                   用户     进程号 权限   命令
/media/BAK/:         galeki      371     ..c..   gqview
杀死进程 371 ? (y/N)

解决了 “Device is busy” 的问题~