取消挂载 umount 时出现的 “Device is busy”

摘要:
当UMount在Linux下安装USB磁盘或移动硬盘时,经常会出现“Deviceisbusy”提示。哦,真的很烦人。在Windows下无法卸载移动设备的问题也出现在Linux上。事实上,错误不在Windows或Linux中。无法卸载移动设备的原因是系统中的程序占用了移动设备上的文件,可能会发生数据丢失和设备损坏。“设备忙”是一种保护措施。(y/N)“设备忙”问题已成功解决。

在 Linux 下 umount 挂载的优盘或者移动硬盘的时候,经常会出现 “Device is busy” 的提示,哦~真让人恼火,在 Windows 下的那个无法卸载移动设备的问题,竟然也窜到了 Linux

其实,错误不在 WIndows 也不在 Linux,无法卸载移动设备的原因,是因为系统中还有程序在霸占着移动设备上的文件,如果冒然强制卸载,可能会导致数据丢失和设备损坏,“Device is busy” 是一种保护措施。

既然知道是有程序霸占,找出这个程序再处理一下就好了。 fuser 这个小程序可以派上用场,基本上每个发行版都会带有 fuser 这个工具。

fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。

假设无法卸载的设备为 /media/USB,运行下列命令即可:

$ fuser -m -v /media/USB/
用户 进程号 权限 命令
/media/BAK/: galeki 335 ..c.. gqview

-m 参数表明指定的路径是一个挂载点显示所有使用指定文件系统的进程,后面可以跟挂载点,或是dev设备 ( Thanks lisir :),-v 参数给出详细的输出,可以看出,原来是 gqview 这个程序还在霸占着移动设备,fuser 还给出了程序的进程号,知道了进程号,你就可以随便怎么处置这个程序了。

另外你也可以添加一个 -k 参数:

fuser -m -k /media/USB/

这招自动把霸占着 /media/USB/ 的程序杀死。如果你不是很明确是否要杀死所有霸占设备的程序,你还可以加一个 -i 参数,这样每杀死一个程序前,都会询问:

$ fuser -m -v -i -k /media/BAK/
用户 进程号 权限 命令
/media/BAK/: galeki 371 ..c.. gqview
杀死进程 371 ? (y/N) 

很顺利的解决了 “Device is busy” 的问题~

****************************************************************************************

在我们进行远程文件操作的时候,我们经常会出现文件服务出现卸载掉哦情况。例如

umount /mnt/net1
umount: /mnt/net1: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

这种问题解决方案:

一、查找使用这个文件的进程和命令,具体的操作代码

[root@localhost ~]# lsof |grep /mnt/net1
lsof: WARNING: can't stat() cifs file system /mnt/net1
      Output information may be incomplete.
bash      18841      root  cwd   unknown                                            /mnt/net1/TDDOWNLOAD/软件 (stat: No such device)

二、然后执行ps命令可以查找执行此进程的命令

[root@localhost ~]# ps -ef|grep 18841
root     18841 18839  0 Nov29 pts/2    00:00:00 /bin/bash -l
root     29496 25604  0 16:26 pts/0    00:00:00 grep 18841

三、强行结束无关进程

[root@localhost ~]# kill -9 18841

四、然后卸载相关挂载

[root@localhost ~]# umount /mnt/net1

五、然后可以在功过mount命令进行查看。

免责声明:文章转载自《取消挂载 umount 时出现的 “Device is busy”》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[日常] 安装windows+deepin双系统flutter开发之配置环境以及一些问题的处理方案~下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

oracle 在sql中显示blob的字符串

最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了。以上只是自己做了个简单的处理,相信肯定有更好的方法,希望大家帮忙,但是感觉dbms_lob函数下的方法真的很好用。...

Systemd简介与使用

Systemd在并行启动中采用了比Upstart更激进的方案。图2显示了systemd的并行启动模式。它允许所有配置的服务同时启动。事实上,大多数使用systemd的现代发行版都与此类似。系统通过配置这些单元来切换和管理服务。...

HTML5表单之input 类型- Date Pickers(日期选择器)

HTML5有几种新的输入类型用于选择日期和时间:日期:选择日期、月份、年份月份:选择月份、年份星期:选择星期和年份时间:选择时间datetime local:选择时间、日期、月份和年份datetime:选择时间、,年示例1:日期示例2:月示例3:周示例4:时间˂inputtype=“time”name=“tart_time”value=“”//示例5:dat...

vant上传文件到后端

Html代码<Ts代码文件列表=[]/image/[a-zA-z]+/。test(file.file.type)){this.$toast(“请上传图片”);returnfalse;config).then(res=>})。捕获(()=>拒绝)=>ts=“+newDate().getTime()).然后...

如何给LINUX红帽子版本配置IP(转)

如果需要绑定另一个IP地址,只需在文件名中添加一个,并在文件中的DEVICE中添加eth0:x。LINUX可以支持多达255个IP别名,多个网卡绑定到一个IP地址,并且可以使用多个网卡创建具有相同IP地址的虚拟网卡。事实上,这种技术已经存在于Sun和Cisco中,它们分别被称为中继和以太网信道技术。在Linux中,这种技术被称为绑定。...

Vue浏览器调试工具VueTools安装以及使用

ue-devtools是一款基于chrome浏览器的插件,用于vue应用的调试,这款vue调试神器可以极大地提高我们的调试效率。vue-devtools使用起来还是比较简单的,上手非常的容易,这里就细讲其使用说明了。安装方法二:这里以chrome浏览器为例:1、打开chrome网上应用店,搜索vue.js注:如果打不开页面需要代理选择第一个,点击添加至chr...