screen工具liunx
Linux 系统默认未自带 screen 工具,需要先进行安装:
CentOS 系列系统: yum install screen
Ubuntu 系列系统: sudo apt-get install screen
使用简介
1. 创建 screen 窗口
screen -S name
# name可以设置为ssh、ftp,用于标注该 screen 窗口用途
# 示例:
screen -S ftp
2. 列出 screen 进程,并进入所需 screen
screen -ls
##列出 screen 进程列表
然后进行所需操作,比如运行脚本、执行程序等等。
3. 退出保存
前述 ftp 操作示例开始传输后,在窗口中键入Ctrl+a 键,再按下 d 键,就可以退出 SSH 登录,但不会影响 screen 程序的执行。
4. 保存会话以便继续执行
可以利用 screen 这种功能来管理的远程会话。操作步骤概述:
正常 SSH 登录服务器
创建 screen 窗口
执行所需任务
需要临时中断退出时,按 Ctrl +d 保存退出
需要继续工作时,再次 SSH 登录服务器,然后直接执行 screen -r -d 恢复会话即可。
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
C-a ? -> 显示所有键绑定信息
C-a c -> 创建一个新的运行shell的窗口并切换到该窗口
C-a n -> Next,切换到下一个 window
C-a p -> Previous,切换到前一个 window
C-a 0…9 -> 切换到第 0…9 个 window
Ctrl+a [Space] -> 由视窗0循序切换到视窗9
C-a C-a -> 在两个最近使用的 window 间切换
C-a x -> 锁住当前的 window,需用用户密码解锁
C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。
C-a w -> 显示所有窗口列表
C-a t -> Time,显示当前时间,和系统的 load
C-a k -> kill window,强行关闭当前的 window