- 移除 mount point 下所有的使用者 (fuser – umount device busy)
有時候 USB DiskonKey 或是遠端分享目錄掛載 ( mount ) 後怎麼樣都無法移除掛載 ( umount ),就像是下面所出現的提示訊息一樣.[root@localhost ~]# umount /media/usb umount: /media/usb: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
這不能移除掛載的狀況有很多有可能是程式還在該目錄下做存取或是檔案已經被開啟的狀態中..等等的情況都有可能.此時我們可以透過 "fuser" 指令來查出到底是什麼原因讓該目錄無法移除掛載.
[root@localhost ~]# fuser -m /media/usb/ /media/usb: 8242c
原來是 PID(Process ID) 8242 這麼程式讓該目錄除法移除掛載.那後面的 c 是代表什麼呢!!
- c – current directory.
- e – executable being run.
- f – open file. f is omitted in default display mode.
- F – open file for writing. F is omitted in default display mode.
- r – root directory.
- m – mmap’ed file or shared library.
或是透過指令 lsof 來查詢.
[root@localhost ~]# lsof /media/usb/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 8242 root cwd DIR 11,0 2048 1280 /media/usb
知道是被 PID 8242 使用中後就可以決定是不是要用 kill 來移除這一程序.
[root@localhost ~]# ps -auxw |grep 8242 root 8242 0.0 0.3 116928 3656 pts/0 Ss+ 09:58 0:00 -bash root 8799 0.0 0.0 112724 976 pts/1 R+ 10:32 0:00 grep --color=auto 8242 [root@localhost ~]# kill -9 8242
或是透過 fuser 加參數 -kvm ,移除該程序.
[root@localhost ~]# fuser -kvm /media/usb USER PID ACCESS COMMAND /media/usb: root kernel mount /media/usb [root@localhost ~]# umount /media/usb
- 掛載 ramdisk image 檔案
[root@localhost ~]# mount -o loop initrd /mnt/floppy
要注意一下 initrd.img 檔案,initrd.img 是經過 gzip 壓縮的檔案格式,所以必須先經過解壓縮才能掛載.
[root@localhost ~]# cp /boot/initrd.img initrd.img.gz [root@localhost ~]# gunzip initrd.img.gz [root@localhost ~]# mount -o loop initrd /mnt/floppy
沒有解決問題,試試搜尋本站其他內容
One thought on “Linux command – mount”