后台运行之 screen
screen 用法
快捷键:
- 暂时退出screen,返回detached(挂起)状态,ctrl + a —— +d
detached 挂起状态,无终端连接该screen,当有终端连接变为 Attached 状态
有终端连接该screen root@ubuntu:/home/test# screen -ls There is a screen on: 6131.test03 (12/11/2017 10:57:07 AM) (Attached) 1 Socket in /var/run/screen/S-root. #退出终端的连接 root@ubuntu:/home/test# screen -ls There is a screen on: 6131.test03 (12/11/2017 10:57:07 AM) (Detached) 1 Socket in /var/run/screen/S-root.
- 永久退出screen,ctrl +a —-+k;或者执行exit
- 切换窗口: ctrl + a —-+w 查看当前所在窗口,
0*$ bash 1-$ bash
有*
的为当前窗口ctrl +a —- 0-9 切换0-9号窗口
ctrl + a —-n/p 切换下一个上一个窗口
ctrl +a ——ctrl +a 切换到上一次的窗口 - 创建一个新的运行窗口并进入该窗口: ctrl + a—-c
- 进入copy回滚模式:ctrl +a —-[ ,可以用上下键进行输出的内容选择
- ctrl+a —-a 相当于shell中 ctrl+a,把光标移到首位
用法
- 创建并命名一个screen: screen -S test01
- 查看当前screen: screen -ls
- 进入指定screen: screen -r test01
- 删除无法连接的screen: screen -wipe
root@ubuntu:/home/test# screen -ls There are screens on: 6131.test03 (12/11/2017 10:57:07 AM) (Detached) 8145.test04 (12/11/2017 08:51:09 AM) (Dead ???) Remove dead screens with 'screen -wipe'. 2 Sockets in /var/run/screen/S-root. root@ubuntu:/home/test# screen -wipe There are screens on: 6131.test03 (12/11/2017 10:57:08 AM) (Detached) 8145.test04 (12/11/2017 08:51:10 AM) (Removed) 1 socket wiped out. 1 Socket in /var/run/screen/S-root. root@ubuntu:/home/test# screen -ls There is a screen on: 6131.test03 (12/11/2017 10:57:07 AM) (Detached) 1 Socket in /var/run/screen/S-root.
-
启动一个screen,执行相应命令,但是不进入screen: screen -dmS test07 tail -f /var/log/syslog
-
删除指定screen: kill pid 或者kill -9 pid 需要执行screen -wipe
注:进入screen可以创建新的窗口 ctrl + a---c,新窗口和新的screen不一样 ,ctrl +a—-+p切换的是窗口而不是screen