sshfs 设备正忙

ctu*_*fli 36 linux sshfs

我使用 sshfs(版本 2.8.4)挂载了一个远程文件系统

sshfs -o allow_root joeuser@example.com: ./example
Run Code Online (Sandbox Code Playgroud)

但卸载它失败

> fusermount -u example
umount: /home/joeuser/example: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
Run Code Online (Sandbox Code Playgroud)

关于可能导致此错误的原因以及如何解决它的任何想法?

Chr*_*ris 54

我想你想要一个懒惰的卸载:

sudo umount -l example
Run Code Online (Sandbox Code Playgroud)

  • 实际上,这对我有用。lsof 找不到任何打开的文件,但 `umount -l` 可以工作。 (4认同)
  • 我认为你的建议是不正确的。根据手册页lazy umount`现在从文件系统层次结构中分离文件系统,并清除对文件系统的所有引用*一旦它不再忙碌*了`。所以它不会解决原来的问题。同意@Gilles,`lsof` 应该在这里有所帮助。 (2认同)

Gil*_*il' 16

某些程序正在使用您尝试卸载的文件系统中的文件。它可以是一个为读或写而打开的文件、当前目录或一些更模糊的情况。甚至可能是由于文件系统上的目录是挂载点。

要调查,请运行lsof +f -- example。它会告诉什么进程正在使用文件系统。自己判断是关闭文件、杀死它们还是推迟卸载操作。


ctn*_*ctn 6

我刚刚遇到了这个问题,无法kill -9从挂载的文件系统读取进程。kill -9即使在fusermount -zu /mount/pointumount -l /mount/point(有效)之后也不起作用。唯一有效的是pkill -9 sshfs.

  • `fusermount -zu /mount/point` 对我有用。谢谢! (3认同)