![远程文本模式终端 shell“screen”](https://linux22.com/image/113842/%E8%BF%9C%E7%A8%8B%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%E7%BB%88%E7%AB%AF%20shell%E2%80%9Cscreen%E2%80%9D.png)
我知道可以在服务器上安装远程 VNC 屏幕并连接到它并查看那里发生了什么。
在文本模式 shell 中是否可以有相同的功能?
我会使用 ssh 连接到远程计算机,然后连接到这样的“远程屏幕”,看看我的程序在那里做什么?
一般任务如下:
我有 python 脚本,它正在废弃网络。该脚本只是将其执行的操作打印到标准输出。目前我正在 ssh 终端中运行脚本。我时不时地切换到 ssh 窗口,看看我的脚本感觉如何:要么它仍在工作,要么它因错误报告而崩溃。
但在这种情况下,如果我重新启动计算机或断开网络连接,我的 ssh 会话将退出并且所有包含的程序将停止。
如何避免这种情况?如何拥有文本模式 VNC 之类的东西?
答案1
寻找screen
程序。它应该做你想做的事。
或者,您可以运行您的程序,nohup
这样当您断开会话时它就不会死掉(稍后您可以在 nohup.out 文件中看到输出)
答案2
您可以使用一些可以帮助您的技巧
- 将脚本放在后台并
&
放在最后 nohup
使用命令从终端取消附加后台脚本- 将 STDOUT 和 STDERR 重定向到文件以便能够监视进度,例如
nohup program >stdout.log 2>stderr.log &
因此,如果出现问题和程序崩溃,您也可以监控进度