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

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

创新互联建站成都企业网站建设服务,提供网站建设、网站设计网站开发,网站定制,建网站,网站搭建,网站设计,自适应网站建设,网页设计师打造企业风格网站,提供周到的售前咨询和贴心的售后服务。欢迎咨询做网站需要多少钱:028-86922220

 背景说明:

我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目录,这个时候我们是无法直接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系统下无法卸载挂载的目录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


网页标题:如何处理Linux系统下无法卸载挂载的目录
分享网址:http://myzitong.com/article/jegchs.html