• Linux中遇到device is busy的处理方法
  • 2018年04月21日
  • 网络收集

在Linux管理umount设备时,时常会遇到"device is busy", 如果umount一个文件系统碰到这种情况,并且你并没有在所需卸载的目录下。那么很可能有用户或进程在使用那个目录。

# umount /mnt

umount: /mnt: device is busy

umount: /mnt: device is busy

那么必须用fuser命令来查看process ID和进程的拥有者,比如:

# fuser -mu /mnt

/mnt: 25781c(root)

# kill -9 25781

# umount /mnt

像下面这种情况,就代表rhythmbox用户在使用那个目录。然后也可以用fuser -ck /dev/sdc1来杀进程。

# fuser -m /dev/sdc1

/dev/sdc1: 538

# ps auxw|grep 538

donncha 538 0.4 2.7 219212 56792 SLl Feb11 11:25 rhythmbox

如果所有这些努力还不奏效,杀掉该进程后,那么这个时候可能需要加-f -l参数,强制卸载

# umount -f -l /mnt

NOTE:

可用下面的命令来检查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.