161

我在 Linux 机器上安装了一个 CIFS 共享。CIFS 服务器已关闭,或 Internet 连接已关闭,任何接触 CIFS 挂载的内容现在都需要几分钟才能超时,并且在您等待时无法杀死。我什至不能在我的主目录中运行 ls 因为有一个符号链接指向 CIFS 挂载内部,并且 ls 试图跟随它来决定它应该是什么颜色。如果我尝试卸载它(即使使用 -fl),卸载过程也会像 ls 一样挂起。甚至 sudo kill -9 也无法杀死它。如何强制内核卸载?

4

11 回答 11

196

我使用惰性卸载:(umount -l这是一个小写字母L

懒卸载。现在从文件系统层次结构中分离文件系统,并在文件系统不再忙时清理对文件系统的所有引用。(需要内核 2.4.11 或更高版本。)

于 2008-09-18T19:59:16.440 回答
78

umount -a -t cifs -l

在 CentOS 6.3 上对我来说就像一个魅力。它为我节省了服务器重启。

于 2013-06-15T23:18:07.003 回答
15

在 RHEL 6 上,这有效:

umount -f -a -t cifs -l 
于 2014-10-09T19:29:23.790 回答
13

这对我有用(Ubuntu 13.10 桌面到 Ubuntu 14.04 服务器):-

 sudo umount -f /mnt/my_share

安装有

 sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

其中 serv_share 是在 smb.conf 文件中设置和指向的。

于 2014-01-31T21:00:37.510 回答
6

我有这个问题一天,直到我找到真正的解决方案。不要试图强制卸载挂起的 smb 共享,而是使用“软”选项安装共享。如果进程尝试连接到不可用的共享,它将在一定时间后停止尝试。

soft 使底座变软。几秒钟后文件系统调用失败。

mount -t smbfs -o soft //username@server/share /users/username/smb/share

stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out

可能不是您问题的真正答案,但它是问题的解决方案

于 2012-10-18T01:53:37.833 回答
2

您可以尝试使用 -f 选项来卸载:

umount -f /mnt/fileshare

您是否指定要挂载的“-t cifs”选项?还要确保您没有指定要挂载的“硬”选项。

您可能还需要考虑fusesmb,因为文件系统将在用户空间中运行,您可以像任何其他进程一样终止它。

于 2008-09-16T17:15:31.560 回答
2

试试 umount -f /mnt/share。与 NFS 一起工作正常,从未尝试与 cifs 一起使用。

另外,看看 autofs,它只会在访问时挂载共享,并在后世卸载它。

www.howtoforge.net上有一个很好的教程

于 2008-09-16T17:31:42.583 回答
2

我对 davfs 有一个非常相似的问题。在 的手册页中umount.davfs,我发现这些 -f -l -n -r -v选项被umount.davfs. 要强制卸载我的 davfs 挂载,我必须使用umount -i -f -l /media/davmount.

于 2014-04-19T10:17:07.703 回答
1
umount -f -t cifs -l /mnt &

小心&,让umount后台运行。 umount将首先分离文件系统,因此您将一无所获/mnt。如果你运行df命令,那么它将umount /mnt强制执行。

于 2015-02-02T06:12:01.860 回答
-2

在 RHEL 6 上,这也对我有用:

umount -f -a -t cifs -l FOLDER_NAME

于 2014-12-09T10:42:33.893 回答
-9

懒惰的卸载将为您完成这项工作。

umount -l <mount path>
于 2015-04-16T15:06:38.723 回答