每天改变一点点,生活充满了惊喜。
全部博文(42)
分类: LINUX
2014-04-30 14:50:03
1. screen能干什么?
相信大家工作中都有这样的经历:
每天早上来的时候,肯定是要打开secureCRT或者Xshell登录server,当需要同时做多件事情的时候,就需要一连串的打开多个终端去登录。
更坏的情况,当网络不稳定,突然断网了,又必须一通 ssh,
可能你还有一些vi忘了保存,一些执行时间比较长的任务只执行了一部分,这些你都不得不重来一遍。
你可能会说,公司的网络还是蛮稳定的,不太会出现这种情况。
那您总得下班吧,可能今天的活才干了一半,12点了也该回家了,如果还有前台任务在跑,该怎么办,等着?如果是要执行一晚上呢?
即使没有这样的任务在执行,也需要一通保存,第二天早上你还得一顿冥思苦想,我昨晚究竟干了什么?
有没有可能,该下班,啥都不用保存,合上电脑就走人,早上来了继续昨天的活接着干。
看到标题,你肯定猜到了,screen就能实现你想要的。
2. 怎么使用screen?
相当简单,你只需执行screen命令即可(没有这个命令的server,需安装),这样就能帮你重新打开一个会话。
至于要打开多少个,由你自己决定,只需不停的screen即可。
那你要问了,这么多的screen,我怎么切换,简单:先按Ctrl-A键,再按1、2、3 … ,你想切换到几就按几。
断网了或者第二天上班,怎么恢复昨天的会话呢?
先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状态,再连接。