Screen-解决Putty链接断开程序终止问题

0x01前言

  刚开始接触linux,需要putty(ssh)远程连接,执行长时间的程序服务,然而由于网络不稳定,或者突然断电,也或者是手抖了一下连接断开,再次连接后发现之前运行的程序终止。
  这时候就需要用到linux下强大的screen程序了。

0x02 安装

yum install screen

或者:

apt-get install screen

0x03 使用

基本使用:

  1. ssh连接成功以后,命令行输入screen 得到一个session(出现提示信息直接enter回车即可),
  2. 然后运行你的程序或者其他操作,这时候你就可以放心大胆的做其他的各种断开连接测试,
  3. 再次登录运行screen -ls查看session得到id(前面的数字),然后screen -r id(你的session id),一切还是原来的样子。

扩展使用:
screen命令:
screen  创建一个虚拟终端并且登录之
screen –ls  列出当前所有虚拟终端
screen [-d] -r sessionid  进入指定的虚拟终端
screen –x sessionid  不同终端共享一个session

开启screen以后对screen窗口管理:
  键盘上键入的信息是直接发送给当前screen窗口必须用其他方式向screen窗口管理器发出命令,默认情况下,screen接收以CTRL+a开始的命令。这种命令形式在screen中叫做键绑定

命令 功能描述
CTRL+a然后c 创建新的窗口
CTRL+a然后n 切换到下一个窗口
CTRL+a然后p 切换到上一个窗口
CTRL+a然后| 纵向分割屏幕
CTRL+a然后s 水平分割屏幕
CTRL+a然后Tab 切换分割的区域
CTRL+a然后” 显示当前所有窗口列表
CTRL+a然后d 暂时离开这个session(不中断)
#注:水平/垂直分割屏幕,切换后要先创建窗口(CTRL+a然后c),才能下一步操作

关闭一个终端:
  方式1:可以先进入此终端,然后将所有窗口关闭,当所有窗口都关闭的时候,终端自动关闭,并且出现“[screen is terminating]”
  方式2:screen –ls ,然后kill +对应的进程号

0x04 屌炸天的实例

01:两个putty session共享一个screen,可以在两边相互操作,实时同步显示
多屏共享,同时操作


02:在一个putty session内,开启多个显示窗口,可以一边运行程序,一边查看日志,还能看其他信息

单个session,多个窗口显示