screen简介

Linux screen命令用于多重视窗管理程序。Linux这种命令行模式的没办法直观的实现多终端运行。不像windows一样打开几个dos命令终端就可以同时多操作任务。Linux需要借助screen库。

像Xshell之中基于SSH远程连接的软件,就相当于开启了一个dos终端,但是一旦断开,就关闭了命令窗口,任务也就停止了。利用SSH远程连接服务器,运行程序需要保证在此期间窗口不能关闭并且连接不能断开,否则当前窗口所运行的任务就被杀死。借助screen就可以实现简单的多窗口,来持久化任务。

例如在配置spring boot项目上线时首先需要确定项目是可以正常运行的,在外网也可以访问到。这是如果基于SSH连接的使用java -jar - XXX.jar来运行项目,缺点是该连接不可以断开,但是使用screen技术就可以持久化的运行。

screen安装与使用

  1. 安装
sudo apt install screen 安装screen
  1. 索引
screen -ls# 该命令也可以查看是否安装成功
  1. 创建新的终端
screen -S dosname
  1. 连接对应名称终端
screen -r namescreen -D -r name # 关闭上一哥终端开启新的终端

总结

  • 新建窗口

1)可直接通过命令screen新建一个窗口,并进入窗口。但通过这种方式新建的窗口没有名字,只有系统分配给它的一个id。当需要恢复窗口时,只能通过id号来恢复。
2)通过命令screen -S name,这样就可以新建一个名字为name的窗口,同样系统也会分配给它一个id,当恢复该窗口时既可以通过id号也可以通过窗口名。

  • 分离会话

退出当前新建的窗口,通过快键键Ctrl+a+d实现分离,此时窗口会跳出[detached]的提示,并回到主窗口。

  • 恢复会话窗口
    首先查看当前有哪些screen窗口,通过命令:screen -ls 将列出窗口列表


可以通过以下命令恢复pyone窗口:screen -r pyonescreen -r 2739013

  • 杀死会话窗口
    通过命令kill -9 threadnum注意此处只能通过id号来杀死窗口。
# 强制关闭
screen -S -X yourname quitscreen -S 会话名称 -X quit
  • 清除死去窗口
    通过命令screen -wipe这个命令将自动清除所有处于dead状态的窗口

  • 退出回话

a.完全退出回话杀死当前screen会话进程
exit
b.保持会话退出,这样退出的话,以后还可以通过screen -r (name)恢复会话,快捷命令
ctrl A D

参数:

-A  将所有的视窗都调整为目前终端机的大小。

-d  将指定的screen作业离线。

-h  指定视窗的缓冲区行数。

-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。

-r  恢复离线的screen作业。

-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s  指定建立新视窗时,所要执行的shell。

-S  指定screen作业的名称。

-v  显示版本信息。

-x  恢复之前离线的screen作业。

-ls或–list  显示目前所有的screen作业。

-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

Screen命令参数:
-A -[r|R] 将所有的视窗都调整为目前终端机的大小。
-c filename 用指定的filename文件替代screen的配置文件’.screenrc’.
-d [pid.tty.host] 断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。
-D [pid.tty.host] 与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。
-h <行数>   指定视窗的缓冲区行数。
-ls或–list 显示目前所有的screen作业。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-p number or name 预先选择一个窗口。
-r [pid.tty.host] 恢复离线的screen进程,如果有多个断开的进程,需要指定[pid.tty.host]
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s shell 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。(用来替代[pid.tty.host]的命名方式,可以简化操作).
-v 显示版本信息。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
-x 恢复之前离线的screen作业。

项目持久化

连接到linux并将spring boot项目上传

java -jar -XXX.jar启动项目

该项目的接口

@RestController
public class TestController {//@ConfigurationProperties读取配置文件转java对象@Autowiredprivate Method method;//@Value直接读取属性@Value("${method.header}")private String header;//Environment对象遍历读取@Autowiredprivate Environment environment;@GetMapping(value = "/title")public String method3(){String title = method.getTitle();return title;}@GetMapping(value = "/header")public String method4(){return header;}@GetMapping(value = "/one")public String method5(){return environment.getProperty("method.one");}}

浏览器端访问

当断开服务后

浏览器无法访问


那么如何持久化任务呢?这就需要借助screen

新终端重新运行项目

Ctrl+A+D退出该终端

退出后如上图所示会提示存在一个pd.name的进程在运行,screen -ls也可以查看


这是浏览器访问任何成功访问即实现了简单的持久化


可以通过screen -S -X yourname quit来强制停掉。

Linux的screen工具库实现多终端相关推荐

  1. linux的screen工具下载,Linux终端下的强大工具 - screen

    使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题. Screen工具是一个终 ...

  2. 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 screen工具

    通过后台服务的方式 在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器. 在128主机上建立并配置rsync的 ...

  3. linux下screen工具使用

    转自:http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html 一.背景 系统管理员经常需要SSH 或者telent 远程登录到Lin ...

  4. linux 32 telnet 工具,Telnet/SSH/SSH2终端工具(Zoc terminal)

    zoc terminal是一款终端工具,它有着类似于securecrt的功能,具有行标签制定,历史命令,多窗口等功能特性,也是一款很适合linux系统管理员使用的一款软件 基本简介 ZOC是一个强大的 ...

  5. rsync服务同步,linux日志,screen工具

    2019独角兽企业重金招聘Python工程师标准>>> 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 扩展 Linux ...

  6. 77.Linux系统日志,screen工具介绍

    Linux系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到***时** ...

  7. rsync通过服务同步、linux系统日志、screen工具

    rsync通过服务同步 /etc/rsyncd.conf是rsync的默认配置文件,该配置文件不存在,需要编辑内容 主服务器上的操作: 1.[root@test rsync]# cat /etc/rs ...

  8. Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具

    一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...

  9. 三十六、rsync通过服务同步、Linux系统日志、screen工具

    三十六.rsync通过服务同步.Linux系统日志.screen工具 一.rsync通过服务同步 该方式可以理解为:在远程主机上建立一个rsync的服务器,在服务器上配置好各种应用,然后本机将作为客户 ...

最新文章

  1. 机器学习Tips:关于Scikit-Learn的 10 个小秘密
  2. oracle 清理跟踪文件trc,trm
  3. ML一:python的KNN算法
  4. MySQL查询语句(select)详解
  5. java struts2 作用_struts2是什么?如何使用?
  6. Security+ 学习笔记16 密钥管理
  7. 机器学习算法与Python学习
  8. C++中Vector/Map/List中尽量使用指针,避免直接保存对象
  9. 学习Spring,这篇就够了
  10. 用手持式频谱分析仪进行干扰检测
  11. win10下移动pagefiles.sys文件到D盘
  12. 如何下载大同市卫星地图高清版大图
  13. Oracle Wallet Manager
  14. 视频超分:Zooming Slow-Mo(Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution)
  15. Skywalking+Nacos实现高可用集群和动态配置
  16. PyQT5 QTableView的简单应用
  17. Caused by: java.lang.IllegalArgumentException报错
  18. 用 PyQt5 制作动态钟表
  19. 你只要上传两张毫无关联的照片「这个网站就会自动帮你合成了!」
  20. python画图实践(超级简单)

热门文章

  1. 关于惠普台式电脑型号 HP-280-G1-MT无线网卡丢失情况处理
  2. 变身小小科学家 南瓜科学让孩子爱上实验
  3. Useful Note
  4. 学校图书馆计算机书籍,学校图书馆共有 300 万册图书,想统计其中 Compute
  5. 【Wu的课堂】《运筹学》单纯形法中文讲解笔记
  6. 一个老程序员的工作经历
  7. 微博粉丝个人信息爬取
  8. codevs1026
  9. 和平精英今日最全更新:出生岛、“加油特种兵”回归?网友:真香
  10. BFS和DFS两种方式实现二叉树的层序遍历