我尝试通过一个命令通过SSH运行sshfs。
例如,如果我这样做:
$ ssh user@host user@host$ sshfs host:/src /target
一切都好。 现在,如果我在一个命令中尝试这个:
ssh -t "sshfs host:/src /target"
但没有装点。 通过使用sshfsdebugging选项,当ssh连接结束时,似乎挂载了卷并立即卸载。
我也尝试在loginshell中运行sshfs,但退出shell时结果是一样的:
ssh -t "/bin/sh -l -c sshfs host:/src /target && /bin/sh"
怎么了 ? 有没有另一种最好的办法?
当您退出远程shell时,通过该shell启动的所有subprocess都将被终止,因为在注销时父(shell)会被终止。
为了避免这种情况,你可以使用nohup命令:
ssh -t "nohup sshfs host:/src /target"
这样注销后,你的sshfs进程的父进程将成为ID为1的进程,你的挂载将保持。
当有人试图访问该path时,您应该使用autofs自动挂载SSHFS文件系统。