温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何处理Linux系统下无法卸载挂载的目录

发布时间:2021-10-23 15:32:29 来源:亿速云 阅读:156 作者:小新 栏目:系统运维

这篇文章将为大家详细讲解有关如何处理Linux系统下无法卸载挂载的目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

 背景说明:

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

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

如何处理Linux系统下无法卸载挂载的目录

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

如何处理Linux系统下无法卸载挂载的目录

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

[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 命令进行查看。

关于“如何处理Linux系统下无法卸载挂载的目录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI