screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。如果你想运行一个持久的进程或者从多个位置连接到 shell 会话,这也很方便。

在本文中,我们将展示在 Linux 上安装和使用 screen 的基本知识。

如何安装 screen

screen 在一些流行的发行版上已经预安装了。你可以使用下面的命令检查是否已经在你的服务器上安装了。

  1. screen -v
  2. Screen version 4.00.03 (FAU)

如果在 Linux 中还没有 screen,你可以使用系统提供的包管理器很简单地安装它。

CentOS/RedHat/Fedora

  1. yum -y install screen

Ubuntu/Debian

  1. apt-get -y install screen

如何启动一个 screen 会话

你可以在命令行中输入 screen 来启动它,接着会有一个看上去和命令行提示符一样的 screen 会话启动。

  1. screen

使用描述性名称启动屏幕会话是一个很好的做法,这样你可以轻松地记住会话中正在运行的进程。要使用会话名称创建新会话,请运行以下命令:

  1. screen -S name

将 “name” 替换为对你会话有意义的名字。

从 screen 会话中分离

要从当前的 screen 会话中分离,你可以按下 Ctrl-A 和 d。所有的 screen 会话仍将是活跃的,你之后可以随时重新连接。

重新连接到 screen 会话

如果你从一个会话分离,或者由于某些原因你的连接被中断了,你可以使用下面的命令重新连接:

  1. screen -r

如果你有多个 screen 会话,你可以用 ls 参数列出它们。

  1. screen -ls
  2. There are screens on:
  3. 7880.session    (Detached)
  4. 7934.session2   (Detached)
  5. 7907.session1   (Detached)
  6. 3 Sockets in /var/run/screen/S-root.

在我们的例子中,我们有三个活跃的 screen 会话。因此,如果你想要还原 “session2” 会话,你可以执行:

或者使用 screen 名称。

  1. screen -r -S session2

中止 screen 会话

有几种方法来中止 screen 会话。你可以按下 Ctrl+d,或者在命令行中使用 exit 命令。

要查看 screen 命令所有有用的功能,你可以查看 screen 的 man 手册。

  1. man screen
  2. NAME
  3. screen - screen manager with VT100/ANSI terminal emulation
  4. SYNOPSIS
  5. screen [ -options ] [ cmd [ args ] ]
  6. screen -r [[pid.]tty[.host]]
  7. screen -r sessionowner/[[pid.]tty[.host]]

screen 命令使用及示例的更多相关文章

  1. linux screen 命令详解

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  2. linux screen 命令详解[转]

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  3. Linux screen 命令

    简单的来说 在screen里面敲的命令都是在后台的,所以不需要想bg那样,ctrl+z在bg把后台服务运行起来.而且下次可以直接进去screen作业的后台界面,可以看到我们过去敲的命令记录,即使你的C ...

  4. linux screen 命令详解(未验证+研究)

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  5. screen命令学习

    我们有时需要做一些长时间的工作,比如格式化一个20T的raid磁盘,可能需要几个小时以上,如果只是执行格式化的话,由于网络不稳定,或者要下班了,还没格式化完成,关闭了ssh的窗口,命令可能就执行失败了 ...

  6. Linux下screen命令

    //1.列出当前的screenscreen -ls //2.新建一个screen,直接在命令行键入screen命令 screen -S [会话名称][root@www.lnuxidc.com ~]# ...

  7. [转]linux中强大的screen命令

    [转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...

  8. Linux screen命令简介

    Linux上有的shell脚本运行时候是阻塞的,如果想在屏幕上即能够看到阻塞命令的输出,同时又能够在shell窗口运行其他程序,那么Linux自带的screen命令是非常不错的选择. 1.screen ...

  9. linux中screen命令的用法

    http://www.9usb.net/201002/linux-screen-mingling.html 作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作.也许 ...

随机推荐

  1. HDU 4619 Warm up 2 最大独立集

    Warm up 2 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4619 Description Some 1×2 dominoes are pla ...

  2. 用python slearning类库实现数据挖掘(python3.x)

    Summary of test0 data : source data source code : in test0 file reference : - Reference Website / - ...

  3. CentOS 7安装ifconfig

    yum install net-tools 安装这个工具,或者升级写法,使用ip addr show 参考: https://linux.cn/article-3631-1.html

  4. 关于npm run build 卡住不动的坑。。。

    起因:最近开发个项目使用的vue,有些功能需要生产版本放服务器上测试,这就出问题了..卡住了,不动了,还不报错 这是在vscode的终端里面,试了git hash,试了cmd , 试了powershe ...

  5. Windows Server 2008 Standard Enterprise Datacenter各个版本区别

    -- Windows Server 2008 Standard 包含1个虚拟实例许可,5个客户端访问授权,售价999美元. -- Windows Server 2008 Enterprise 包含4个 ...

  6. Unity 面试题

    一:什么是协同程序? 在主线程运行的同时开启另一段逻辑处理,来协助当前程序的执行,协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足. 二:Unity3d中 ...

  7. MySQL -- 调优

    多数时候数据库会成为整个系统的瓶颈,比如大的数据量的插入与修改,频繁的亦或是高流量的访问,都会对数据库系统带来很大的压力.我在平时工作的时候,总是会遇到大数据量的插入.修改或是查询的操作,所以在工作的 ...

  8. qsort(),sort()排序函数

    一.qsort()函数 功 能: 使用快速排序例程进行排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp ...

  9. OpenCV学习(2) OpenCV的配置

          下面我们在VS2010中编写一个简单的OpenCV程序,来看看如何在程序中使用OpenCV. 创建一个新的Win32 控制台程序,附加选项为空工程(empty project),并添加一个 ...

  10. VMware虚拟机的磁盘文件共享给物理机

    启动VMware程序 → 选中某虚拟主机('关闭'状态) → 菜单栏'虚拟机(M)' → '设置(S)' 或直接"编辑虚拟机设置". 2 在“硬件”标签下点击“硬盘(SCSI)”→ ...