为什么我的分离循环最终会被杀死?

时间:2016-03-02 19:08:43

标签: bash

为了将我的VPS连接回家用电脑,我在家用电脑上运行了这个脚本:

{ while true ; do ssh -nNR 1234:localhost:22 root@12.34.56.78 ; sleep 300 ; done ; } & disown

启动反向ssh隧道。如果连接因任何原因而中断,则在5分钟后重新启动连接。这开始似乎运作良好,但后来我注意到循环最多只运行了几天。

为什么会停止或被杀?

1 个答案:

答案 0 :(得分:0)

检查此循环调用此ssh命令的进程数,您可能希望在ssh命令行中添加以下选项:

-o ExitOnForwardFailure=yes

检查autossh哪个工作得更好。我在家用电脑下使用autossh + Cygwin,可以连接我的办公室和家里几天而不会中断。