千家信息网

linux中如何使用Screen

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"linux中如何使用Screen",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"linux中如何使用Screen"这篇文章吧。sc
千家信息网最后更新 2026年10月31日linux中如何使用Screen

这篇文章主要为大家展示了"linux中如何使用Screen",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"linux中如何使用Screen"这篇文章吧。

screen 是一款由 GNU 开发的命令行终端工具,它提供了从多个终端窗口连接到同一个 shell 会话(会话共享)。当网络中断,或终端窗口意外关闭是,中 screen 中运行的程序任然可以运行(系统自带的终端窗口,当窗口意外关闭时,在该终端窗口中运行的程序也会终止。)。

安装 screen 工具

it@serverc:~$ sudo apt install screen -y

* 在 CentOS 中,你需要先安装 epel-release 才可以安装 screen( 在 CentOS 中安装软件使用 yum 或者 dnf )

会话共享

在 A 主机上创建一个名为 it 的 screen 会话

it@serverc:~$ screen -S it

在 B 主机上,通过 ssh 连接到 A 主机,并查通过 -ls 选项看当前已经存在的 screen 会话

it@workstation:~/ansible$ ssh it@10.10.10.108  it@10.10.10.108's password:   Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-60-generic x86_64)  ... ... ... ...  ... ... ... ...  Last login: Thu Jan 14 13:57:32 2021  it@serverc:~$ screen -ls  There is a screen on:   2107.it (01/14/21 07:30:27) (Attached)  1 Socket in /run/screen/S-it.

然后加入到该会话

it@serverc:~$ screen -x it

这样就可以两边共享一个 screen 会话,不管谁运行什么命令,另一个都可以看到;

当你需要退出会话时,你可以运行 exit 来退出会话(当运行 exit 时,两边都会退出 screen 会话。),也可以通过Ctrl+A,D(Ctrl + A 然后按 D,退出单个会话)。

当网络中断或窗口意外关闭后,任务继续运行

在 Linux 打开两个终端窗口,我们分部称他们为 A 窗口和 B 窗口,在 A 窗口中运行 ping

it@workstation:~$ ping 10.10.10.1  PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.  64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.21 ms 64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.22 ms  64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.19 ms  ... ... ... ... ... ... ... ...

然后在 B 窗口,运行 ps aux 获取系统进程,然后通过 grep 进行筛选

it@workstation:~$ ps aux | grep ping  it          2336  0.0  0.2 317144  8740 ?        Ssl   2020   0:17 /usr/libexec/gsd-housekeeping  it        153585  0.0  0.0  12764   872 pts/3    S+   14:53   0:00 ping 10.10.10.1  it        153646  0.0  0.0  12108   736 pts/2    S+   14:56   0:00 grep --color=auto ping

我们看到 ping 正在运行

当关掉 A 窗口后,我们再到 B 窗口(此时就只有一个窗口了)运行之前的 ps aux 命令

it@workstation:~$ ps aux | grep ping  it          2336  0.0  0.2 317144  8740 ?        Ssl   2020   0:17 /usr/libexec/gsd-housekeeping  it        153651  0.0  0.0  12108  2964 pts/2    S+   14:57   0:00 grep --color=auto ping

此时 ping 命令已经结束了

重新打开一个新的终端窗口,作为 A 窗口,运行 screen

it@serverc:~$ screen -S test

然后在 screen 窗口中运行 ping 命令

it@workstation:~$ ping 10.10.10.1  PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.  64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.21 ms  64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.15 ms  64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.21 ms  ... ... ... ...  ... ... ... ...

然后关闭 A 窗口,回到 B 窗口,运行 ps aux 命令;

it@workstation:~$ ps aux | grep ping  it          2336  0.0  0.2 317144  8684 ?        Ssl   2020   0:17 /usr/libexec/gsd-housekeeping  it        154964  0.0  0.0  12768   940 pts/3    S+   15:02   0:00 ping 10.10.10.1  it        154986  0.0  0.0  12108   736 pts/4    S+   15:05   0:00 grep --color=auto ping

我们发现 ping 命令还在继续运行

当我们想回到之前的 ping 会话,可以通过 screen -r 恢复会话

it@workstation:~$ screen -r test

* 如果只有一个 screen 会话,后面的会话名称可以省略不写,如果你不知道,或者忘了会话命令,你可以通过 screen -ls 查看当前主机运行的 screen 会有。

上下分屏

创建一个 screen 会话

it@serverc:~$ screen -S test

按Ctrl+A,然后按Shift+S开启分屏;

按Ctrl+A,然后再按Tab,切换到下面屏幕

但此时下面屏幕什么还没有,你需要通过Ctrl+A,然后按C在下面屏幕中创建终端

这样我们就可以在下面屏幕执行命令了,如果我们需要在不同的屏幕之间切换,可以通过 按Ctrl+A,然后再按Tab来切换。

当需要退出时,我们可以通过 exit 命令退出(在一个屏幕运行 exit 命令后,只是终端退出了,分屏的状态并没有退出,所以你需要通过前面的方法,切换到另一个屏幕上,再次运行 exit 退出)。

以上是"linux中如何使用Screen"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

运行 命令 终端 屏幕 可以通过 主机 切换 意外 内容 篇文章 只有 工具 程序 系统 网络 行当 学习 帮助 不同 上下 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 互联网科技社 关于新基建和互联网科技 华宇互联网科技 互联网科技集团 迪茉互联网科技 汇久创客互联网科技 融势互联网科技 深圳天众互联网科技公司 丰台科技园 互联网公司 新华互联网科技2019 互联网校园科技培训 开一家科技互联网公司需要多少钱 电子商务与互联网科技的关系 杭州披云加互联网科技有限公司 产业互联网科技服务公司 互联网金融运营模式中的金融科技 互联网科技收购价值 陕西彩京云互联网科技有限公司 互联网科技创业计划的风险分析 深圳恒合互联网络科技有限公司 滨湖区互联网智能科技产品供应 隆华科技工业互联网 宁夏科技产业互联网案例 新兴科技互联网创新大赛颁奖典礼 工业互联网展湾科技股份有限公司 工业互联网科技创业 中国科技和美国互联网 互联网领先科技活动 科技发展第三阶段互联网时代
0