学习 Screen (Day 1)

这些同标题的一系列帖子是用来记录我对Screen(一个有趣并且非常有用的Linux软件)的理解和使用。

Screen是用来在linux机器上同时进行多任务操作的program,这看来和在Windows上一边放mp3一边看网页一边跑程序没什么区别,但是Screen的重要性在于她可以使跑在Linux服务器上的程序持续保持运行,不受用户退出或者关闭与Linux服务器链接的影响。

这对成天跑程序做计算的我们实在是太有帮助了!举个实际操作的小例子:我先用SSH远程登录到Linux服务器,在bash下运行Screen,然后在Screen上运行我的计算程序,接着脱离这个Screen(注意,是脱离,不是退出),再退出Linux帐户并关闭SSH;几天以后,当我再次SSH远程登录到Linux服务器,运行Screen,可以发现原来的计算程序一直还在运行;但是如果我在上次离开的时候选择关闭Screen,那么我的计算程序也会即时被终止。

Screen可以生成很多session,每个session又可以生成很多window,每个window都可以看成是一个独立的shell,每个shell都可以做独立的事情。下面是她一些常用的Linux命令,$代表当前shell的提示符,##代表对命令的解释,Ctrl代表Ctrl键。

$ Screen -S mywork ## 创建Screen下以mywork为名的一个session和这个session下的第1个window。

Ctrl-a A ## 为当前window添加名字。

Ctrl-a c ## 在当前session下创建新的window。

Ctrl-a A ## 为当前window改变名字。

Ctrl-a “ ## 浏览当前session下的所有window并转换window。

Ctrl-a d ## 脱离当前window当前session,回到用户的bash下。

$ Screen -ls ## 浏览Screen下所有的session以及他们的状态。

$ Screen -r mywork ## 再次链接到Screen下以mywork为名字的那个session的上次脱离的window。

$ exit ## 退出当前window并转移到这个session下的上一个window(当退出这个session下最后一个window时,这个session也就自动退出)。

一些references:

[how-to] GNU Screen

GNU Screen -- MITBBS Linux版镇版之宝

Complete Screen Manual

No comments: