Chinaunix首页 | 论坛 | 博客
  • 博客访问: 219561
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-09 10:55
个人简介

每天改变一点点,生活充满了惊喜。

文章分类

全部博文(42)

文章存档

2016年(8)

2015年(29)

2014年(5)

我的朋友

分类: LINUX

2014-04-30 14:50:03

1. screen能干什么?

相信大家工作中都有这样的经历:

每天早上来的时候,肯定是要打开secureCRT或者Xshell登录server,当需要同时做多件事情的时候,就需要一连串的打开多个终端去登录。

更坏的情况,当网络不稳定,突然断网了,又必须一通 ssh
可能你还有一些vi忘了保存,一些执行时间比较长的任务只执行了一部分,这些你都不得不重来一遍。

你可能会说,公司的网络还是蛮稳定的,不太会出现这种情况。

那您总得下班吧,可能今天的活才干了一半,12点了也该回家了,如果还有前台任务在跑,该怎么办,等着?如果是要执行一晚上呢?

即使没有这样的任务在执行,也需要一通保存,第二天早上你还得一顿冥思苦想,我昨晚究竟干了什么?

有没有可能,该下班,啥都不用保存,合上电脑就走人,早上来了继续昨天的活接着干。

看到标题,你肯定猜到了,screen就能实现你想要的。

 

2. 怎么使用screen

相当简单,你只需执行screen命令即可(没有这个命令的server,需安装),这样就能帮你重新打开一个会话。

至于要打开多少个,由你自己决定,只需不停的screen即可。

那你要问了,这么多的screen,我怎么切换,简单:先按Ctrl-A键,再按123 … ,你想切换到几就按几。

 

断网了或者第二天上班,怎么恢复昨天的会话呢?

先list下当前用户下的所有screen

$ screen -ls

There is a screen on:

        10742.sunnyChan (Attached)

1 Socket in /tmp/uscreens/S-testframe.

 

再连接screen:

screen -r 10742
执行没有错误的情况下,就会打开screen会话窗口。

检查终端的展示是不是还停留在昨天你下班之前的情景,是不是似曾相识。

 

好了,到这里该结束了,还有一些问题提醒下:

(1)在screen下执行rz和sz,会挂死。

这个现在还没搞明白什么原因,现在的办法是退出screen再执行rz,sz。

退出screen需要按Ctrl-A 再按D键。

 

(2)执行screen -r 10742可能会报错:

#screen -r 10742

There is a screen on:

        10742.sunnyChan (Attached)

There is no screen to be resumed matching 10742.

 

这是因为该screen已经被连接了,处于Attached的状态。

如果要在当前终端重新连接,需执行screen -d 10742,使screen处于Detached状态,再连接。

阅读(1929) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~