系统管理员经常需要SSH 到线上服务,执行一些命令。有些任务需要长时间执行,例如:系统备份、Ftp传输等等。通常情况下,我们都是为这样的任务开一个远程终端窗口,因为它的执行时间长,必须等待它执行完毕,才能关闭窗口,否则这个任务会被关闭,一切都半途而废了。
所以screen应运而生(GNU计划开发的用于命令行终端切换的自由软件)。
- 会话恢复
只要screen 本身没有终止,在其内部运行的会话都可以恢复。既然网络突然中断,用户再次登录该主机时,执行screen -r 会话名称 , 就可以恢复会话。 - 多窗口
在screen环境中,所有的会话都是独立运行,并拥有各自的编号、输入、输出和窗口缓存。 - 会话共享
screen可以让一个或者多个用户同时登录同一个会话,并共享所有的会话特性(比如可以看到相同的输出),还提供了窗口的访问权限控制,可以对窗口进行密码保护。
1.安装screen
yum install screen
2.新建会话
screen -S guo
3.把当前session放到后台执行, 退出(用fg可以返回)
control + a + z
4.列出当前screen
screen -ls
[root@VM_16_161_centos ~]# screen -ls
There are screens on:
17572.guo2 (Detached)
17145.guo (Detached)
2 Sockets in /var/run/screen/S-root.
5.重新连接会话
screen -r guo
6.清除dead状态的会话
screen -wipe
7.关闭或者杀死窗口
可以使用会话窗口中执行control + d 直接退出,窗口是被关闭的。
另一个关闭窗口的方法是使用C-a k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
如果一个Screen会话中最后一个窗口被关闭了,那么整个Screen会话也就退出了,screen进程会被终止
参考:http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html