安装:
yum install -y screen
使用:
# 新建一个名字为api的会话
screen -S api
# 在新会话中启动一个api服务
./api
# 离开当前会话,且不关闭会话,后台运行会话
Ctrl + a -> d
# 返回到名字为api的这个会话
screen -r api
# 以下是全部参数备注
选项
-A 将所有的视窗都调整为目前终端机的大小。
-d <会话名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前有这个名字的会话,仍强制建立新的screen会话。
-r <会话名称> 恢复离线的screen会话。
-R 先试图恢复离线的会话。若找不到离线的会话,即建立新的screen会话。
-s 指定建立新视窗时,所要执行的shell。
-S <会话名称> 指定screen会话的名称。
-v 显示版本信息。
-x 恢复之前离线的screen会话。
-ls或--list 显示目前所有的screen会话。
-wipe 检查目前所有的screen会话,并删除已经无法使用的screen会话。
常用screen参数
screen -S name -> 新建一个叫name的会话
screen -ls -> 列出当前所有的会话
screen -r name -> 回到name这个会话
screen -d name -> 远程detach某个会话
screen -d -r name -> 结束当前会话并回到name这个会话
在每个screen 会话下,所有命令都以 ctrl+a(Ctrl + a) 开始。
Ctrl + a ? -> 显示所有键绑定信息
Ctrl + a c -> 创建一个新的运行shell的窗口并切换到该窗口
Ctrl + a n -> Next,切换到下一个 window
Ctrl + a p -> Previous,切换到前一个 window
Ctrl + a 0..9 -> 切换到第 0..9 个 window
Ctrl+a [Space] -> 由视窗0循序切换到视窗9
Ctrl + a Ctrl + a -> 在两个最近使用的 window 间切换
Ctrl + a x -> 锁住当前的 window,需用用户密码解锁
Ctrl + a d -> detach,暂时离开当前会话,将目前的 screen 会话 (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen 会话里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
Ctrl + a z -> 把当前会话放到后台执行,用 shell 的 fg 命令则可回去。
Ctrl + a w -> 显示所有窗口列表
Ctrl + a t -> time,显示当前时间,和系统的 load
Ctrl + a k -> kill window,强行关闭当前的 window
Ctrl + a -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 [vi 一样