screen
是一个强大的终端多路复用器,允许你在一个SSH会话中运行多个终端任务,并且即使SSH连接中断,这些任务也能继续运行。 这对长时间运行的任务或训练任务非常有用,如果在这样的任务中SSH链接断开,没有screen
,你会丢失对任务的控制,而有了screen
,你可以在链接恢复后接着控制之前的任务。 下面是如何使用screen
来运行并管理你的任务:
- 创建一个新的
screen
会话:screen -S mysession
在这里,-S
参数后面的mysession
是你给这个新会话起的名字,你可以用任何你喜欢的名字。 - 在这个会话中,你可以运行你的训练代码,比如
python train.py
。这会跟你平时在终端中运行你的代码一样。 - 如果你需要在任务运行的同时断开SSH连接,你可以按下
Ctrl+A
,然后按下D
,这会断开你的screen
会话,但你的任务会在后台继续运行。 - 你可以随时重新连接到你的
screen
会话,在你的SSH会话中输入:shell screen -r mysession
就可以回到名为mysession
的screen
会话。这里的-r
代表re-attach
,意为重新连接。 - 如果你完成了你的任务,并且想要结束
screen
会话,你可以在screen
会话中输入:shell exit
或者按下Ctrl+A
,然后按下K
,然后按Y
来确认。这会结束你的screen
会话。 这样,即使SSH连接被断开,你也可以确保你的训练任务得以继续,并在连接恢复后查看任务的进度。
以下是基本的操作方法:
- 创建新的
screen
会话:
screen -S sessionname
这里的 sessionname
是你对新会话的自定义名字。
- 断开
screen
会话:
Ctrl+a, d
这将暂时使你与当前的 screen
会话断开连接(不是关闭会话),并返回到 SSH 终端。
- 列出正在运行的
screen
会话:
screen -ls
这将列出当前所有的 screen
会话。
- 重新连接到断开的
screen
会话:
screen -r sessionname
这里的 sessionname
是你之前创建时为 screen
会话设置的名字。
- 在
screen
会话中切换到下一个窗口:
Ctrl+a, n
如果你在一个 screen
会话中打开了多个窗口,你可以用这个快捷键在它们之间切换。
- 在
screen
会话中切换到上一个窗口:
Ctrl+a, p
这是向后切换窗口的快捷键。
- 创建新的窗口:
Ctrl+a, c
你可以在一个 screen
会话中打开很多窗口。
8. 终止 screen
会话:
首先退出所有的 shell,然后 `screen` 会话就会自动结束。你也可以在会话中直接执行 `exit` 命令或按下 `Ctrl+d` 来结束 `screen` 会话。
标签:断开,训练,Ctrl,screen,会话,任务,SSH,ssh
From: https://www.cnblogs.com/waferen/p/18065684