返回顶部

解决类似umount target is busy挂载盘卸载不掉问题

问题描述

Linux下挂载后的分区或者磁盘某些时候需要umount的时候出现类似“umount: /mnt: target is busy.”等字样,或者“umount: /xxx: device is busy.”。

 

问题原因

该报错通常是由于待卸载磁盘正在使用,导致无法直接卸载。需要将当前使用数据盘的进程杀掉,才能卸载。

 

解决办法

 方法一、 使用fuser命令处理

安装fuser命令

[root@server-10 ~]# yum install psmisc 

查看在使用的进程

[root@server-10 ~]# fuser -mv /mnt/
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root      13830 ..c.. bash

杀死占用的进程,并再次查看

[root@server-10 ~]# fuser -kv /mnt/
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root      13830 ..c.. bash
[root@server-10 ~]# fuser -mv /mnt/
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt

确认无进程连接后,使用卸载命令

[root@server-10 ~]# umount /mnt/
[root@server-10 ~]# 

参数说明:

-k,--kill kill   processes accessing the named file
-m,--mount    show all processes using the named filesystems or block device
-v,--verbose    verbose output

注意
可以使用 fuser -km /mnt 进行 kill 进程。
可以使用 kill 命令杀掉查到对应的进程 。
强制 kill 进程可能会导致数据丢失,请确保数据得到有效备份后,再进行相关操作。

 

方法二、通过lsof命令处理

[root@server-10 ~]# lsof /mnt/
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    16302 root  cwd    DIR   8,17       50   64 /mnt

找到PID对应的进程或者服务,然后杀死或者停止相应服务即可。

 

 

结束.

posted @   Adrian·Ding  阅读(104189)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示