在Linux管理umount設(shè)備時(shí),時(shí)常會(huì)遇到"device is busy", 如果umount一個(gè)文件系統(tǒng)碰到這種情況,并且你并沒(méi)有在所需卸載的目錄下。那么很可能有用戶或進(jìn)程在使用那個(gè)目錄。
# umount /mnt
umount: /mnt: device is busy
umount: /mnt: device is busy
那么必須用fuser命令來(lái)查看process ID和進(jìn)程的擁有者,比如:
# fuser -mu /mnt
/mnt: 25781c(root)
# kill -9 25781
# umount /mnt
像下面這種情況,就代表rhythmbox用戶在使用那個(gè)目錄。然后也可以用fuser -ck /dev/sdc1來(lái)殺進(jìn)程。
# fuser -m /dev/sdc1
/dev/sdc1: 538
# ps auxw|grep 538
donncha 538 0.4 2.7 219212 56792 SLl Feb11 11:25 rhythmbox
如果所有這些努力還不奏效,殺掉該進(jìn)程后,那么這個(gè)時(shí)候可能需要加-f -l參數(shù),強(qiáng)制卸載
# umount -f -l /mnt
NOTE:
可用下面的命令來(lái)檢查SATA硬盤的壞塊。
# badblocks -v /dev/sda
# badblocks -v /dev/sdb
# badblocks -v /dev/mapper/vgosi-lvol1
Checking blocks 0 to 10477568
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.