如何保持外壳(ssh)连接有效?

时间:2019-12-19 16:24:28

标签: shell ssh

我正在使用Moba XTerm通过SSH连接到我的Web服务器。在那里,我运行npm脚本来监视文件,直到它们更改为止,然后重新编译它们。

每10-15分钟我的连接就会超时,大概是出于安全考虑。这是一台共享主机,因此我在Apache中无法控制。

有什么办法可以使我保持连接状态吗?

3 个答案:

答案 0 :(得分:1)

通常,对于长时间运行或紧急操作,请在服务器上使用screen(或tmux),该服务器应安装在几乎所有Linux服务器上。 byobu还附带了一些发行版本,这基本上是这两个版本之一(带有状态栏,帮助文本等)的更“用户友好”配置的版本。

screen在其自己的进程中运行,如果ssh连接中断,则继续运行。下次登录时(通过ssh),然后“重新连接”到屏幕会话。可以运行多个屏幕进程的多个屏幕会话(在所谓的屏幕/窗口中)。

尽管一开始的快捷键和后面的想法可能会有些奇怪,但它将很快成为您熟悉并经常使用的工具。

要了解更多信息,您可以阅读联机帮助页(man screen和搜索互联网(例如https://help.ubuntu.com/community/Screen,但我敢肯定还有更多插图示例)。

答案 1 :(得分:0)

我认为您的问题不是连接。如果只想让脚本一直运行,则可以使用以下命令以守护程序状态运行npm脚本:

# nohup npm run &> output.log &
# tail -f output.log

如果连接断开,您的npm脚本将不会被杀死,并且输出将保存在output.log中。因此,您可以重新连接到服务器并使用tail命令获取日志

答案 2 :(得分:0)

尝试SSH keepalive,有关MobaXterm的信息,

https://mobaxterm.mobatek.net/documentation.html#6_8_4