Screen 解决SSH断开后程序终止运行的问题
Screen
全名为GUN Screen
, 源自GNU计划, 其官方网站为 https://www.gnu.org/software/screen/
1. 介绍
官方介绍为:
Screen 是一个全屏窗口管理器,它在多个进程之间多路复用一个物理终端,通常是交互式 shell。每个虚拟终端都提供 DEC VT100 终端的功能,此外还提供 ANSI X3.64 (ISO 6429) 和 ISO 2022 标准的若干控制功能(例如,插入/删除行和支持多个字符集)。每个虚拟终端都有一个回滚历史缓冲区和一个允许用户在窗口之间移动文本区域的复制和粘贴机制。当调用 screen 时,它会创建一个带有 shell(或指定的命令)的单个窗口,然后让您可以像往常一样使用该程序。然后,您可以随时创建新的(全屏)窗口,其中包含其他程序(包括更多的 shell),杀死当前窗口,查看活动窗口列表,打开和关闭输出日志,复制文本窗口,查看回滚历史,在窗口之间切换等。所有窗口完全独立地运行它们的程序。当程序的窗口当前不可见时,即使整个屏幕会话与用户终端分离,程序也会继续运行。
应用场景:
在Linux上运行程序时, 我们经常有让程序在关闭终端或者断开SSH连接后还能保持运行的需求. 当然可以使用systemd
来注册管理进程, 不过对于不常用的程序这种方法稍显繁琐, 此外就是使用nohup Command &