修复 Linux 中的“卸载目标正忙”错误
使用 umount 命令时一个不太罕见的错误是“目标正忙”。了解可以采取哪些措施来消除此错误。
在Linux命令行中卸载磁盘并不复杂。您所要做的就是使用 umount 命令:
umount target但偶尔,您会遇到一个错误,提示'umount: target is busy':
那么你应该如何解决这个问题呢?
好吧,在解决这个问题之前,我先分享一下这个问题背后的原因。
Umount 目标繁忙的原因
原因很简单!目标设备仍在使用中。
有了足够的权限,任何进程都可能正在利用您想要卸载的驱动器,并且为了防止数据丢失,内核将不允许您卸载。
Linux下Umount目标忙的解决方法
⚠️
如果后台正在进行数据传输,您可能会因强制卸载驱动器而丢失数据。
有时您想不惜一切代价卸下驱动器。也许驱动器由于某种原因没有响应,并且您想要卸载它。
在本教程中,我将分享三种卸载目标的方法:
通过杀死进程本身
使用强制卸载
使用惰性卸载
我们先从第一种方法开始。
方法 1:通过杀死进程本身来取消目标(推荐)
在我看来,这是卸载目标的最佳方法,因为您最终会杀死进程本身。
第一步是找到导致问题的进程的 PID。
为此,我将按以下方式使用 lsof 命令:
sudo lsof /Path/to/target一旦获得 PID,强制终止进程就非常简单:
sudo kill -9 [PID]现在,您应该能够轻松卸载驱动器:
非常简洁的方式。不是吗?
方法 2:使用强制卸载(对于网络文件系统)
强制卸载选项主要受到那些处理网络文件系统的人的青睐。
因此它可能无法为您的本地文件系统提供预期的结果。
要使用强制卸载,您必须使用相同的旧 umount 命令,但带有 -f 标志:
sudo umount -f /Path/to/target方法3:使用延迟卸载(薛定谔的卸载)
?
此选项实际上并不卸载目标,而只是从命名空间中删除目标。当驱动器不再使用时,将卸载目标!
当您永远无法确定文件系统是否已卸载时,这更像是薛定谔的挂载!
那么为什么我要把它添加到解决方案列表中呢?嗯,这是卸载顽固驱动器的最无害的方法。
要使用延迟卸载,您必须将 -l 标志与 umount 命令结合使用,如下所示:
sudo umount -l /Path/to/target就在这里!
你应该选择哪一个?
当您必须卸载驱动器时,我更喜欢使用第一种方法,该方法涉及终止进程本身。
这是有充分理由的。它让我的工作顺利完成。
当然,您可能希望根据您的用例选择最后两个选项中的任何一个。





