如何强制CIFS连接卸载

时间:2008-09-16 17:08:40

标签: linux samba smb cifs

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

11 个答案:

答案 0 :(得分:165)

我使用lazy unmount:umount -l(这是一个小写的L

  

懒惰卸载。分离文件系统   现在从文件系统层次结构,和   清理所有引用   文件系统一旦不忙   了。 (需要内核2.4.11或   后面。)

答案 1 :(得分:63)

umount -a -t cifs -l

在CentOS 6.3上像我一样迷人。它为我节省了服务器重启。

答案 2 :(得分:13)

在RHEL 6上,这有效:

umount -f -a -t cifs -l 

答案 3 :(得分:7)

我有一天这个问题,直到找到真正的解决方案。而不是试图强制卸载挂起的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

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

答案 4 :(得分:7)

这对我有用(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文件中设置和指向的。

答案 5 :(得分:2)

尝试umount -f / mnt / share。使用NFS工作正常,从未尝试过使用cif。

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

www.howtoforge.net

有一个很好的教程

答案 6 :(得分:1)

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

umount -f /mnt/fileshare

您是否指定要安装的'-t cifs'选项?另外,请确保您没有指定mount的“hard”选项。

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

答案 7 :(得分:1)

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

答案 8 :(得分:1)

umount -f -t cifs -l /mnt &

小心&,让umount在后​​台运行。 umount将首先分离文件系统,因此您将找不到任何缓冲/mnt。如果您运行df命令,则强制umount /mnt

答案 9 :(得分:-2)

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

umount -f -a -t cifs -l FOLDER_NAME

答案 10 :(得分:-7)

懒惰的卸载会为你完成这项任务。

umount -l <mount path>