远程文本模式终端 shell“screen”

远程文本模式终端 shell“screen”

我知道可以在服务器上安装远程 VNC 屏幕并连接到它并查看那里发生了什么。

在文本模式 shell 中是否可以有相同的功能?

我会使用 ssh 连接到远程计算机,然后连接到这样的“远程屏幕”,看看我的程序在那里做什么?

一般任务如下:

我有 python 脚本,它正在废弃网络。该脚本只是将其执行的操作打印到标准输出。目前我正在 ssh 终端中运行脚本。我时不时地切换到 ssh 窗口,看看我的脚本感觉如何:要么它仍在工作,要么它因错误报告而崩溃。

但在这种情况下,如果我重新启动计算机或断开网络连接,我的 ssh 会话将退出并且所有包含的程序将停止。

如何避免这种情况?如何拥有文本模式 VNC 之类的东西?

答案1

寻找screen程序。它应该做你想做的事。

或者,您可以运行您的程序,nohup这样当您断开会话时它就不会死掉(稍后您可以在 nohup.out 文件中看到输出)

答案2

您可以使用一些可以帮助您的技巧

  1. 将脚本放在后台并&放在最后
  2. nohup使用命令从终端取消附加后台脚本
  3. 将 STDOUT 和 STDERR 重定向到文件以便能够监视进度,例如

nohup program >stdout.log 2>stderr.log &

因此,如果出现问题和程序崩溃,您也可以监控进度

相关内容