关于Screen
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
对于经常需要SSH或者telnet的后端开发人员来说,某些需要长时间运行的任务经常因为网络原因等问题而中途连接断开导致前功尽弃,使用Screen管理远程会话可以很好的解决这些问题。
安装Screen
Screen的安装很简单,以CentOS为例,直接通过如下命令进行安装即可。
1 |
|
Screen的官网链接是:http://www.gnu.org/software/screen/
可以通过git clone git://git.savannah.gnu.org/screen.git
获取Screen的源码。
Screen常用命令
1 |
|
各个命令的参数解释如下:
1 |
|
Screen常用参数
1 |
|
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
1 |
|
使用Screen
Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
创建新的会话
直接采用screen
命令就可以创建一个Screen会话,为了管理方便,推荐给每个会话起一个单独的名字
1 |
|
会话分离与恢复
Screen允许用户在不中断正在运行的程序的情况下断开Screen会话的连接,在需要重新控制该会话中运行的程序时候再重新连接该会话。
1 |
|
如果没有分离会话,就没有办法恢复会话,这个时候需要强制分离会话,通过以下命令:
1 |
|
会话清除
人为杀死会话或者由于某种原因会话被kill,这个时候screen -list
显示该会话为dead
状态,此时需要清除该会话。
1 |
|
参考资料
GNU Screen的官方网站:http://www.gnu.org/software/screen/
Man Screen命令为本文提供了大量的信息支持