GNU Screen 的基础使用
· 阅读需 3 分钟
又到了寒假,又到了容易忘记打卡的时候,在学校宿舍还可以有人吆喝一声记得打卡,到了家里如果遇上忙的东西搞到半夜,然后倒头就睡,第二天就只能手写检讨了。我是绝不会让这种情况发生的!!
之前在 GitHub Action 上用着也一直不顺,也不知道是他服务器的问题还是咋,总遇到ETIMEOUT 的问题,可能他网络全天处于高峰期吧,不过没事,本白嫖怪办法多的是~
直接在服务器上部署吧,相信用腾讯的服务器不会网络超时的!
GNU Screen 的安装
Screen 顾名思义和窗口有关,实际上就是命令行版本的Windows资源管理器,管理着窗口的创建、连接、分割、隐藏、后台运行等。
当前环境:
- Ubuntu 21.04
- Nodejs 17.3
运行 sudo apt install screen
安装,一步到位。
常用命令
查看 Screen 版本
screen --version
输出
Screen version 4.08.00 (GNU) 05-Feb-20
创建并进入一个名称为MySession的会话
screen -S MySession
暂时离开会话
离开当前会话并不会影响程序的运行,离开前是怎么运行的离开后仍然怎么运行,只是在后台你看不见而已。
在当前会话按下 Ctrl+A+D 就可以离开。
列出所有会话
screen -ls
输出
There is a screen on:
1957807.MySession (01/03/2022 03:23:29 PM) (Dettached)
1 Socket in /run/screen/S-cxOrz.
Attached状态说明已连接到会话,Dettached则是暂时离开了会话。
连接到离开的会话
此时 MySession 状态为 Dettached ,处于离开的状态。
screen -r MySession
该命令重新连接到了这个会话,状态变为 Attached,现在终端的内容恢复到了离开时的模样。
断开会话
有时操作不当,会离开了会话,但是它还是Attached状态的(假设MySession),这时就需要以下命令来断开:
screen -d MySession
杀死或退出会话
杀死或退出会话后,再使用 screen -ls
将看不到它
screen -S 会话名 -X quit