天天看點

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

[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))           
[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           

繼續閱讀