1. 创建一个带有名字的screen会话
screen -S name #指定名字
这会创建一个名为name的screen窗口,并将终端切换到这个窗口
2. 列出所有的screen会话
screen -ls
或者
screen -list
结果如图
3.Screen 的状态有两种,Attached和Detached,分别表示前台运行和后台运行。
Detached(分离):在使用 screen 时,可以创建一个或多个终端会话,并在其中运行不同的命令或程序。如果从当前终端会话中分离(Detached)出去,这意味着会话在后台运行,但此时可以关闭当前终端窗口而不会影响到会话的运行。这对于在服务器上运行长时间任务或进程时非常有用,因为分离会话后,然后重新附加(Attach)到它,可以查看或继续进行会话中的工作。
Attached(附加):附加是将一个分离的 screen 会话重新连接到当前终端窗口的操作。当附加到一个会话时,可以恢复会话中的活动。并且可以查看之前运行的程序的输出,或者与之前创建的虚拟终端进行交互。
在使用 screen 时,可以使用以下命令来分离和附加会话:
分离会话:按下 Ctrl + A,然后按下 D(即先释放 Ctrl+A,再按D),会话将会分离。
在作业中时,按下这三个键,会退出作业,即处于离线状态,回到原来界面中。退出作业并不会使得作业中运行的程序中断,只有把作业杀死或对程序进行Ctrl+C才会中断作业。
附加会话:运行 screen -r 或 screen -x 命令,后面跟着会话的名称或标识符,以重新连接到分离的会话。
这些功能使 screen 成为管理多个终端会话并在需要时轻松切换的强大工具。它特别有用在远程服务器上进行长时间运行的任务或维护工作时。
4. 分离会话后,再次进入screen窗口
screen -r [会话标识符]
结果如图所示:
Enter后得到结果:
或者以下指令也可以再次进入窗口
screen -r -S name
5.分离会话
按 ctrl+a,再按 d键,暂时退出screen终端 (Detached)。这将让screen会话在后台运行。
6.删除screen窗口
在外部强行关闭
screen -S xxx -X quit
如screen -S name -X quit
删除无法使用的screen
screen -wipe
或者删除screen作业
#删除
kill job_id
#强制删除
kill -9 job_id
7. 滚动终端输出
在 screen 会话中,按下ctrl+A
,然后按下 [
进入滚动模式,可以使用上下箭头或 Page Up/Page Down 键来浏览终端输出。按 Esc
退出滚动模式。
8.关闭screen会话
在 screen 会话中,可以使用 exit
命令或按下Ctrl + D
来关闭当前终端窗口。当所有窗口都被关闭时,screen 会话也会终止。
注意:在训练模型的时候不要随便滚动鼠标,不要随便乱按enter。