umount解挂磁盘报*** is busy解决办法

本文介绍了解决Linux中磁盘解挂载时出现的busy问题的方法,通过使用fuser命令查找占用磁盘的进程,然后用kill命令终止进程,最后再次尝试umount命令完成解挂载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Linux过程中,解挂载磁盘经常会报busy,之前我一直都是重启,然后再去解挂载。不过感觉老是重启终归不太好,而且还比较费时。

最近新发现了一个命令:fuser可以解决这个问题。

比如想要解挂载的磁盘名为 /dev/abc

先:fuser -m /dev/abc,可以查到进程号

然后kill -9 查到的进程号  将进程杀掉,之后继续执行umount /dev/abc。

如果还是busy,可以再来一遍。

参考:https://blog.youkuaiyun.com/xyajia/article/details/72789972

### 如何决 `umount` 错 "target is busy" 当尝试使用 `umount` 卸载磁盘时遇到 “target is busy”的错误,意味着有活动进程正在使用该载点。为了成功卸载磁盘,需先找出并终止这些进程。 #### 方法一:查找并终止占用进程 通过 `fuser` 命令来查看哪些进程占用了载点,并可以选择性地结束它们: ```bash # 查看哪个进程在使用/mnt目录下的资源 fuser -mv /mnt/ # 终止所有访问此载点的进程(建议加上-i选项以交互方式确认) fuser -kvmi /mnt/ ``` 上述命令中的 `-m` 表示指定一个被加载的文件系统或是一个已经被加载的块设备;而 `-v` 则用于提供更详细的输出信息[^2]。 #### 方法二:安全移除只读模式下卸载 如果不想强制关闭可能重要的应用程序,则可考虑将分区设为只读状态后再进行卸载操作: ```bash umount -r /mnt/ ``` 这会使得任何试图写入的操作失败,从而允许你安全地断开连接而不影响现有数据完整性[^1]。 #### 方法三:重启计算机 对于某些情况来说,在不影响业务的前提下最简单的方法就是直接重启机器,这样可以自然释放掉所有的锁住关系,不过这不是推荐的做法因为缺乏针对性处理可能导致未知风险存在[^3]。 #### Python 脚本辅助排查 编写简单的Python脚本来帮助自动化检测是否有程序正打开特定路径上的文件: ```python import os, sys def check_open_files(mount_point): with open('/proc/self/mounts', 'r') as mounts_file: lines = mounts_file.readlines() for line in lines: parts = line.split() if mount_point in parts[1]: print(f"Found {mount_point} mounted at {parts[1]}") if __name__ == "__main__": if len(sys.argv) != 2: exit(-1) mount_path = sys.argv[1] check_open_files(mount_path) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值