Skip to main content

Screen

让你的项目在后台运行

平时在使用 ssh 连接到服务器后,总是有个问题,关闭 ssh 后,在这个窗口里跑的进程就会被 kill,本文就此给出解决办法

Screen

info

GNU Screen 是一个用于在 Unix-like 系统中创建多个虚拟终端会话的终端复用程序。它允许用户同时运行多个独立的命令行界面,在不同的 shell 窗口之间切换,以及在后台运行长时间运行的进程

使用 GNU Screen,您可以打开一个或多个终端窗口,并在每个窗口中运行不同的程序或命令。您可以使用快捷键在窗口之间切换,还可以通过分割窗口创建多个终端区域来同时查看不同的命令输出。如果您需要离开当前终端会话,您可以将它置于后台运行,并在稍后恢复。

GNU Screen 还具有其他许多功能,例如支持多用户会话、会话共享和会话记录。它还可以使用配置文件进行高度自定义,以满足个人偏好和需求。

更多细节可以访问官网GNU Screen查看

安装 Screen

apt install screen

简单 demo

安装好后,使用 screen -S 窗口名 来新建一个 screen,比如这里创建了一个新的 demo screen

screen-S

创建好后,当前的终端会自动 attach 到这个 screen 上。使用 screen -ls 可以查看当前所有的 screen

screenls

在当前的 screen 里,运行好项目,使用快捷键 ctrl+a+d,来退出当前 screen

退出后再次使用 screen -ls ,可以看到, demo screen 的状态变成了 Detached

screenlsDetach

可以看到每个 screen 都有一个独立的 id,在需要回到某个 screen 的时候需要用到,使用 screen -r 窗口号,比如我这里的 demo screen 的 id 是 216645,就可以通过 screen -r 216645 重新连接到这个 screen

如果需要删除某个 screen ,可以 attach 这个 screen 后,使用 exit 指令来退出并删除

常用 Screen 指令

screen -S 窗口名 #新建窗口
screen -ls # 列出当前窗口
screen -r 窗口号 # 回到指定窗口
exit # 删除当前窗口
Ctrl+a+d # 退出当前窗口
Buy me a coffee ☕: