1. 程式人生 > >umount 時出現的 "Device is busy"問題

umount 時出現的 "Device is busy"問題

出了 通用 aud cas 一個 set kill 如果 use

linux下umount時出現錯誤:

[root@localhost ~]# 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,運行下列命令即可:

[root@localhost ~]# 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 參數:
[root@localhost ~]# 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"問題