umount 时出现的 "Device is busy"问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了umount 时出现的 "Device is busy"问题相关的知识,希望对你有一定的参考价值。
linux下umount时出现错误:[[email protected] ~]# umount /home/
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
解决方法:
1、可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。
2、假设无法卸载的设备为 /home,运行下列命令即可:
[[email protected] ~]# fuser -m -v /home/ #普通用户加上sudo
USER PID ACCESS COMMAND
/home/: idc-mb 51643 F.c.. gnome-session
idc-mb 51775 F.... gnome-settings-
idc-mb 51795 F.c.. metacity
idc-mb 51804 F...m pulseaudio
idc-mb 51805 F.c.. gnome-panel
idc-mb 51810 F.c.. nautilus
idc-mb 51835 F.c.. polkit-gnome-au
# -m 参数显示所有使用指定文件系统的进程,后面可以跟挂载点,或是dev设备
# -v 参数给出详细的输出,可以看出,原来是 gqview 这个程序还在霸占着移动设备
# fuser 还给出了程序的进程号,知道了进程号,你就可以随便怎么处置这个程序了
-------------------------------------------------------------------------------------------------
# 另外你也可以添加一个 -k 参数:
[[email protected] ~]# fuser -m -k /home/ # 这招自动把霸占着/home的程序杀死
/home/: 51643c 51775 51795c 51804m 51805c 51810c 51835c
# unmount /home #进程kill之后即可umount
$ sudo fuser -m -k /media/matlab/ #将/media/matlab/ 的程序杀死
$ sudo umount /media/matlab
# 如果你不是很明确是否要杀死所有霸占设备的程序,你还可以加一个 -i 参数,这样每杀死一个程序前,都会询问:
$ sudo fuser -m -v -i -k /media/matlab/
用户 进程号 权限 命令
/media/matlab/: galeki 371 ..c.. gqview
杀死进程 371 ? (y/N)
$ sudo umount /media/matlab
顺利的解决了 “Device is busy” 的问题
以上是关于umount 时出现的 "Device is busy"问题的主要内容,如果未能解决你的问题,请参考以下文章
Linux umount设备时出现device is busy解决方法
解决UINavigationController在pushViewController时出现的"卡顿"问题