强制卸载文件系统

强制卸载文件系统

好的,事情是这样的:

我使用 FUSE 将 webdav 端点挂载为文件系统。在某个时候它坏了。现在,无论如何我都无法卸载它。

任何时候我尝试以任何方式与其交互,一切都会冻结。列出 ( ls) 包含挂载点的目录会使我的 shell 不可恢复地冻结。

我尝试过umount -f(force)、umount -l(lazy)、umount -lf(lazy force) 和fuser -km(正如我在其他地方看到的推荐) 全部以 root 身份运行... 没成功。每次我运行这些命令中的任何一个,它们都会挂起,直到我杀死^C它们 ( )。

不应有任何进程在此挂载上保持句柄打开。我尝试使用 lsof 检查。它也挂起了。

我不在乎是否必须编译一个内核模块来修补这个内存不足的东西......我需要一种方法来解决这个问题。

我花了一小时搜索 Google 和 Stackoverflow。一切都只是重复同一句老话:umount -fumount -l。有谁知道真正强制卸载文件系统的方法吗?

(Debian 6.0.9,内核 2.6.32-5)

答案1

您可以尝试以下另一个命令,但如果情况很糟糕,这可能也无济于事。

fusermount -u /path/to/mountpoint

答案2

对于 davfs 我发现:

fusermount -uz /path/to/mountpoint

(延迟卸载)有效。如果此时重新挂载,您可能会收到有关 PID 文件的错误,因此请将其删除,然后重试挂载:

rm /var/run/mount.davfs/mountpoint.pid
mount /path/to/mountpoint

相关内容