screen在远程登录、安装或者运行等长时间界面监视情况下特别有效,以下是screen的基本操作。
常用screen参数
screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
1.安装
[wm@adx test]$ yum install screen
[wm@adx test]$ rpm qa | grep screen
RPM version 4.4.2.3
Copyright (C) 1998-2002 - Red Hat, Inc.
2.使用,新建screen会话:直接输入screen命令或者screen -S [会话名称]
[wm@adx test]$ screen -S xxx
4.查看当前系统所有screen会话。
[root@YUNGU-AD-MEVENT-188 tmp]# screen -ls
There is a screen on:
16604.dbg (Detached)
1 Socket in /var/run/screen/S-root.
5.进入某个screen会话:screen -r [会话的PID]
[root@YUNGU-AD-MEVENT-188 ~]# screen -r dbg
[root@YUNGU-AD-MEVENT-188 ~]# screen -r 16604
7.当系统中只有一个screen会话时,输入:screen -r 即可进入这个会话。
8.清除dead 会话
如果由于某种原因其中一个会话死掉了(例如人为kill该会话),这时screen -list会显示该会话为dead状态。使用screen -wipe命令清除该会话:
[wm@adx test]$ screen -ls
There is a screen on:
31818.vmi (Detached)
1 Socket in /var/run/screen/S-wm.
[wm@adx test]$ kill -9 31818
[wm@adx test]$ screen -ls
There is a screen on:
31818.vmi (Dead ???)
Remove dead screens with 'screen -wipe'.
1 Socket in /var/run/screen/S-wm.
[wm@adx test]$ screen -wipe
There is a screen on:
31818.vmi (Removed)
1 socket wiped out.
No Sockets found in /var/run/screen/S-wm.
[wm@adx test]$ screen -ls
No Sockets found in /var/run/screen/S-wm.
9.如果一台机器上已经启动了该session的screen,则是不能再另一台机器上启动该session,只能通过screen -d来操作,命令强制将这个会话从它所在的终端分离,转移到新的终端上。
[wm@adx test]$ screen -r vmi
There is a screen on:
14887.vmi (Attached)
There is no screen to be resumed matching vmi.
[wm@adx test]$ screen -d
[14887.vmi detached.]
[wm@adx test]$ screen -r
10.快捷键(Ctrl + A C表示先按Ctrl + A,再按C)
Ctrl+ A C: 创建一个新的Shell
Ctrl+ A: 在Shell间切换
Ctrl+ A N: 切换到下一个Shell
Ctrl+ A P: 切换到上一个Shell
Ctrl+ A 0..9:切换到窗口0..9
Ctrl+ A W: 显示所有窗口列表
Ctrl+ A D: 退出scteen会话后可以通过Screen-r回来。
11.更多的关于screen的参数,可以参考手册:man screen。