Linux umount 报 device is busy 的处理方法

一.  umout 移动硬盘

开始用sftp 将安装文件copy到服务器的时候,速度太慢了,500k/s。几个G的东西,copy 这些就要半个多小时,扛不住,拿移动硬盘来copy了。 结果移动硬盘的格式不对。 是NTFS 格式,Linux 识别不了。 只能格式化成FAT32的。 而GG 的win7 系统又不具备格式化成FAT32的功能。 有点小变态。让同事在XP 下帮我格式化了。

安装文件copy到服务器后,同事直接将移动硬盘从服务器上拔下来了。 导致的结果是,用df 命令查看,挂载的移动硬盘还存在。

[root@linuxidc ~]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sdb3             125G  3.3G  115G   3% /

/dev/sdb1              99M   12M   82M  13% /boot

tmpfs                 3.9G     0  3.9G   0% /dev/shm

/dev/sda1             275G   72G  189G  28% /u01

/dev/sdc1              10G  2.0G  8.1G  20% /datatmp

就是这个/dev/sdc1。

这时使用umount 命令,会提示设备忙,无法挂载。

处理方法:

[root@linuxidc ~]# fuser -km /datatmp

[root@linuxidc ~]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sdb3             125G  3.3G  115G   3% /

/dev/sdb1              99M   12M   82M  13% /boot

tmpfs                 3.9G     0  3.9G   0% /dev/shm

/dev/sda1             275G   72G  189G  28% /u01

/dev/sdc1              10G  2.0G  8.1G  20% /datatmp

[root@linuxidc ~]# umount /datatmp

[root@linuxidc ~]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sdb3             125G  3.3G  115G   3% /

/dev/sdb1              99M   12M   82M  13% /boot

tmpfs                 3.9G     0  3.9G   0% /dev/shm

/dev/sda1             275G   72G  189G  28% /u01

成功umount了。

二.  umount 光驱

安装DB 之前,检查了一下相关包,少了3个。 从系统安装盘上找了包,安装了一下。 当时是直接将/dev/cdrom mount 到了/mnt目录。 也是图个方便。 结果收工时去拿盘,光驱弹不出来。 同事让我把cdrom umout掉。 同样的提示,设备忙。

处理方法:

[root@linuxidc ~]#fuser –km /dev/cdrom

[root@linuxidc ~]#eject  -- 弹出光驱

在网上搜了一下,正确挂载CD-ROM的方法应该如下:

# mkdir cdrom

# mount /dev/cdrom /mnt/cdrom

或者

# mount /dev/cdrom /media/cdrom

直接挂载在/mnt,/media等系统目录下,在umount时会出现出错信息“umount: /mnt/cdrom: device is busy”的情况。

如果一个文件系统处于“busy”状态的时候,不能卸载该文件系统。如下情况将导致文件系统处于“busy”状态:

1) 文件系统上面有打开的文件

2) 某个进程的工作目录在此文件系统上

3) 文件系统上面的缓存文件正在被使用

三.  fuser 命令

前面2个umout 都使用了这个fuser 命令。 man了一下这个命令。 内容如下:

[root@linuxidc ~]# man fuser

FUSER(1)       User Commands                        FUSER(1)

NAME

fuser - identify processes using files or sockets

SYNOPSIS

fuser [-a|-s|-c] [-4|-6] [-n  space ] [-k [-i] [-signal ] ] [-muvf] name

fuser -l

fuser -V

DESCRIPTION

fuser displays the PIDs of processes using the specified files or file systems.  In the default display mode, each file name is followed by a letter denoting the  type

of access:

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.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzfzp.html