社区编辑申请
注册/登录
Linux下screen命令使用及示例
系统 Linux 系统运维
screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。如果你想运行一个持久的进程或者从多个位置连接到 shell 会话,这也很方便。在本文中,我们将展示在 Linux 上安装和使用 screen 的基本知识。

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.  
  3. There are screens on
  4. 7880.session    (Detached) 
  5. 7934.session2   (Detached) 
  6. 7907.session1   (Detached) 
  7. 3 Sockets in /var/run/screen/S-root.  

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

  1. screen -r 7934 

或者使用 screen 名称。

  1. screen -r -S session2 

中止 screen 会话

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

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

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

顺便说一下,如果你喜欢这篇文章,请在社交网络上与你的朋友分享,或者在评论区留下评论。谢谢。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2022-04-15 14:31:02

鸿蒙操作系统

2022-04-14 10:10:59

Nginx开源Linux

2022-05-18 10:58:36

LinuxKali Linux

2022-03-10 08:24:17

Docker容器SaaS

2022-05-07 11:08:50

Linuxapt 命令

2022-05-16 13:37:12

Sysrv僵尸网络微软

2022-04-24 16:00:15

LinuxLinux命令ls命令

2022-03-21 09:52:44

LinuxSystemd日志

2022-03-30 09:32:32

BashtestLinux

2022-04-19 11:23:26

release3.1子系统鸿蒙

2022-03-25 09:39:50

LinuxLinux top

2022-04-28 09:46:20

Nginx文件Linux

2022-04-06 06:35:58

进程命令CPU

2022-05-09 07:08:14

LinuxBashShell

2022-05-14 08:05:18

Linux内存管理

2022-04-20 10:43:24

Linux命令

2022-04-28 08:05:05

2022-04-12 11:20:11

C 语言Linux编程

2022-05-17 09:14:50

聚类算法python

同话题下的热门内容

Fedora 36 通过桌面大修吸引开发者,但它能取悦 Linux 之父吗?万字多图,搞懂 Nginx 高性能网络工作原理!43个Bash编程最容易犯的错误大全Kali Linux 2022.2 发布:增加了一个吓唬人的有趣新功能Linux程序编译过程详解程序员必备高级技术之函数调用栈轻量级 Kubernetes 集群发行版 K3s 完全进阶指南微软内部 Linux 第二个稳定版发布

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号