Linux系统下无法卸载挂载的目录怎么办?看这篇就够了

网友投稿 657 2023-04-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Linux系统下无法卸载挂载的目录怎么办?看这篇就够了

背景说明:

我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目录,这个时候我们是无法直接umount卸载掉的,所以今天就给大家分享一下如果遇到这种问题了,我们如何去合理的处理?

现象描述:这里我们需要将/mnt目录卸载掉,如下图所示:

执行卸载命令:umount /mnt后,发现卸载不了,提示资源被占用,如下图所示:

上面我们已经看到了,提示被占用,无法卸载,如何处理呢?方法很简单,可以使用强制卸载,命令如下:

[root@docker /]# umount -f /mnt   umount2: Device or resource busy   umount: /mnt: device is busy   umount2: Device or resource busy   umount: /mnt: device is busy

-f参数为进行强制卸载,这里我们也发现了,上面使用的强制卸载并未生效,还是报错了,怎么办呢?不要着急,看下面!

使用fuser命令,先确认有哪些进程在占用该目录

[root@docker /]# fuser -cu /mnt  /mnt: 1112c(java)

上面查看发现是pid为1112的java进程目前在占用这此目录,所以无法卸载。

那么我们确认了是哪个进程占用着此目录后,我们可以kill 掉该进程,

这里有两种方法去kill进程:

第一种就是我们平常用到的直接命令:kill -9 1120;

第二种就是使用fuser -ck /mnt

[root@docker /]# fuser -ck /mnt   /mnt: 1120c

当我们需要知道哪个目录被哪个进程所占用的时候,也可以使用lsof 命令进行查看。

上一篇:Zabbix告警:如何优化你的监控体验
下一篇:Zabbix5.2由浅入深系列之制作网络设备监控项
相关文章

 发表评论

暂时没有评论,来抢沙发吧~