实用小工具:screen

首先,吹爆screen

screen,实现了不间断的会话服务,通过SSH连接至远程服务器,当使用了screen开启的会话,不会因为你断开SSH而中断在远程服务器上运行的命令。

screen具有如下功能:

  • 会话恢复:在网路中断,ssh断开连接等情况下,只要服务器还开着,就可以对会话进行恢复;
  • 多窗口:每个会话都是独立运行的;
  • 会话共享:多个用户可以看到相同的一个会话,即看到看到相同的输入输出

基本使用

安装

若系统中没有安装screen,通过以下命令安装:

CentOS:

yum install screen

ubuntu

apt-get install screen

创建新的窗口

screen -S 窗口名
# 窗口创建成功后会新的一个bash串口中

最好指定一个便于记忆输入的窗口名,方便后续的窗口恢复

查看窗口列表

$ screen -ls

# 结果
(base) zcc@e0c362370fb8:~/GA/GA_Radio/512$ screen -ls
There are screens on:
3890.three (04/27/20 01:42:59) (Detached)
3760.two (04/27/20 01:42:12) (Attached)
3542.one (04/27/20 01:40:47) (Attached)
3 Sockets in /var/run/screen/S-zcc.
# 可以看到目前创建了3个会话:
# 分别展示为:ID.会话名
# 两个正在前台运行,一个在后台运行

退出会话

临时退出

输入快捷键

  1. Ctrl + a
  2. Ctrl + d

可以临时退出会话,退出后状态变为Detached状态

后续可以恢复,恢复后状态变为Attached状态

永久退出/关闭

当screen开启的会话中没有在运行的命令时

通过命令:exit

退出会话并显示[screen is terminating]

恢复会话

  1. 通过screen -ls查看目前存在的会话;
  2. 通过screen -rd 会话名/会话ID号恢复会话;

例如:

$ screen -ls
# There are screens on:
# 3890.three (04/27/20 01:42:59) (Detached)
$ screen -rd three
# 或者
$ screen -rd 3890

会话共享

输入命令:

screen -x 会话名/会话ID

共享同一个会话,不同的终端内,可以看到同一个会话的实时输入输出信息

参考

上述只指出了基本的日常用法,其他使用方法,参考如下地址:

https://www.cnblogs.com/lpfuture/p/5786843.html

最新文章

  1. 解决ASP.Net第一次访问慢的处理(IIS8)
  2. fir.im Weekly - 聊聊让人向往的远程开发工作
  3. SharePoint2013的头像显示和读取
  4. 微信网页授权,微信登录,oauth2
  5. js快速排序法
  6. db4o官方停止支持及面向对象数据库的一些感想
  7. 理解JavaScript的定时器与回调机制
  8. Thread.sleep(0)的意义& 多线程详解
  9. php中常用的字符串查找函数strstr()、strpos()实例解释
  10. 2_Add Two Numbers --LeetCode
  11. SignalR在Asp.NetCore中的使用
  12. No Spring WebApplicationInitializer types detected on classpath
  13. badgeview
  14. 端午漫谈(附:Ubuntu18.04下轻量截图软件)
  15. stingray中使用angularjs
  16. c# 写入Xml 元素(<![CDATA[ ]]>)
  17. oracle count 大表
  18. 简单封装DBUtils 和 pymysql 并实现简单的逆向工程生成class 类的py文件
  19. POP3命令与分析
  20. _beginthreadex()和CreateThread()的区别

热门文章

  1. 2021秋 noip 模拟赛
  2. Python - 文件模式a+读取不了文件
  3. Junit5快速入门指南-3
  4. springcloud3(五) spring cloud gateway动态路由的四类实现方式
  5. 通过url把第一个页面的数据传到第二页面
  6. Storm近年的发展
  7. Vue组件传值(一)之 父子之间如何传值
  8. golang指针接收者和值接收者方法调用笔记
  9. Collections集合工具类和可变参数
  10. 第七章:网络优化与正则化(Part1)