所以这个问题实际上发生在 OSX 和 CentOS 之间。我使用 osxfuse 创建了 ssh 挂载:
sshfs [ssh config name]:/remote/location/dir.ec.tory ~/client/location/dir.ec.tory -o follow_symlinks
这已经起作用了,但我想存在某种性质的超时(或者服务器停止响应)并且链接中断。尝试卸载(通过umount
)时出现问题:
umount: ~/client/location/dir.ec.tory: not currently mounted
这并不少见;但ls -la
不再显示目录。即使没有连接,目录也会保留并安装在本地文件系统上。我还有其他目录指向服务器上的不同路径——这些目录都有效,没有任何改变。
尝试重新安装时显示错误:
sshfs [ssh config name]:/remote/location/dir.ec.tory ~/client/location/dir.ec.tory -o follow_symlinks
mount_osxfuse: /Users/<name>/SSH/dir.ec.tory: Input/output error
奇怪的是ls
没有显示目录。更奇怪的是,制表符补全仍然适用于目录。即使尝试删除目录,sudo rm ~/client/location/dir.ec.tory
它也会收到相同的输入/输出错误。如果我尝试重新创建目录 ( mkdir ~/client/location/dir.ec.tory
) 它会说 File exists
有谁知道为什么或如何再次显示该目录并从此错误中恢复?我已经杀死了所有我能从守护进程中找到的与 ssh 相关的进程。
答案1
事实证明并非所有进程都被终止。似乎有一个流氓进程未分配给我的帐户。揭晓者:
ps -ax | grep ssh
杀死属于该进程的 id 一定会释放一些东西,因为该目录再次出现并且可以重新访问。我对终端/文件系统不太熟悉,不知道为什么ls
不会发现该目录,但希望有经验的人可以透露任何见解。