常用软件 - screen

  • 作者:KK

  • 发表日期:2019.09.15


要点速读

  1. 创建新的任务 screen -S 会话名称

  2. 查看现有的会话列表 screen -list

  3. 进入正在运行的会话 screen -r 会话名称


介绍

这东西相当于windows里的窗口管理,创建一个新任务后,会得到一个独立的shell会话,在这个shell里做一些事情,比如搞下载,下很大的文件,突然关掉了ssh终端的时候,这个下载任务不会中止,会继续自己运行,等到你重新登陆ssh后可以用screen命令重新回到那个会话,下载进度已经在自己继续前进。也可以创建多个会话,并在这些会话之间切换,就像切换窗口一样。


我的常用场景

  1. 运行一个长时间的安装程序,但不能在屏幕前等那么久,要出门,甚至网络不稳定随时可能断开这个连接,导致会话中断,任务中断。用这个软件实现安装程序后台运行,过段时间再回来看安装结果。

  2. 启动一些简单的小程序作为后台进程,不想搞太复杂或太正式的守护进程。


创建新的任务会话

screen -S 会话名称,比如screen -S server1

其中“server1 ”就是自己起名的一个会话名称。


查看有哪些会话

把你的终端窗口强制关掉,再重新连接,screen -list看看有哪些会话


重新进入现有的会话

通过list查看会话之后,screen -x id

比如创建新会话(命名为test)后用 vi 对一个文件进行编辑,进入编辑界面后,强制按叉叉把ssh终端关掉,重新开启ssh终端后执行screen -x test就会回到 vi 编辑的那个会话中,马上就显示了之前的编辑界面。