51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Screen-会话级别不中断的Linux终端

很多时候需要执行一些需要很长时间的任务。如果这时候,网络连接突然断开了,那么之前所做的所有工作可能都会丢失,所做的工作可能都要重做一遍,这会浪费许多的时间,非常影响工作。使用 screen 命令。screen 命令允许用户在一个窗口内使用多个终端会话,可以断开连接,也可以重新连接已断开连接的会话。每个会话都可以恢复连接,这样就算会话断开了,用户也不必担心数据丢失。

什么是Linux Screen? {#什么是linux-screen}

Linux Screen是一个可以在终端会话中创建多个窗口的终端多路复用程序。它让用户可以在同一个终端窗口下同时运行多个终端会话或程序,即使用户断开了SSH连接也能保持会话的运行。Linux Screen可以让用户在后台运行程序,并且可以在需要时重新连接终端会话。

为什么要使用Linux Screen? {#为什么要使用linux-screen}

在Linux服务器上为了保持长时间运行的程序或进程,通常使用nohup命令或者将程序放在后台运行。

但是,使用nohup命令在终端会话关闭后无法再次查看程序的输出,而且无法对程序进行交互操作。

Linux Screen的优点在于可以在用户断开SSH连接后重新连接,查看程序的输出,并对程序进行操作,大大提高了工作效率。

如何安装Linux Screen? {#如何安装linux-screen}

使用以下命令在Linux系统中安装Linux Screen:

sudo apt install screen      # 在Debian/Ubuntu系统上
sudo yum install screen      # 在CentOS系统上
sudo dnf install screen      # 在Fedora系统上

基本使用 {#基本使用}

创建新的Screen会话 {#创建新的screen会话}

使用以下命令在终端中创建一个新的Screen会话:

screen

按下Enter键后,会进入一个全新的终端窗口会话。

查看当前会话列表 {#查看当前会话列表}

使用以下命令可以查看当前正在运行的Screen会话列表:

screen -ls

重新连接到会话 {#重新连接到会话}

使用以下命令可以重新连接到一个已经存在的Screen会话:

screen -r [会话ID]

常用操作 {#常用操作}

分离会话 {#分离会话}

可以使用以下快捷键分离当前会话,但是会话仍然会在后台继续运行:

按下Ctrl + A,然后按下d

退出会话 {#退出会话}

在Screen会话中可以使用以下快捷键退出当前会话:

按下Ctrl + D

恢复会话 {#恢复会话}

使用以下命令可以恢复分离的会话:

screen -r

切换窗口 {#切换窗口}

在Screen会话中可以创建多个窗口,可以使用以下快捷键在窗口之间进行切换:

按下Ctrl + A,然后按下n (切换到下一个窗口)

按下Ctrl + A,然后按下p (切换到上一个窗口)

创建新窗口 {#创建新窗口}

在Screen会话中可以使用以下快捷键创建新窗口:

按下Ctrl + A,然后按下c

示例 {#示例}

在Screen会话中运行程序 {#在screen会话中运行程序}

创建一个新的Screen会话:

$ screen

在新的Screen会话中运行一个Python程序,例如一个简单的Python脚本文件test.py

# test.py
import time
while` `True`:
`print`(`"Hello, world!"`)
time.sleep(`1`)
`

使用快捷键Ctrl + A,然后按下c创建一个新窗口,进入新窗口后,运行Python程序:

$ python test.py

分离和恢复会话 {#分离和恢复会话}

在Screen会话中按下

Ctrl + A

,然后按下

d

分离当前会话。

使用以下命令查看当前的Screen会话列表,记住会话ID:

$ screen -ls
There is a screen on:
        1234.my_screen_session  (Detached)
1 Socket in /var/run/screen/S-username.

使用以下命令恢复分离的会话:

$ screen -r 1234

总结 {#总结}

Linux Screen是一个非常有用的终端会话管理工具,可以让用户在终端窗口中进行多个会话的管理和操作。通过Screen,用户可以方便地在后台运行程序、查看输出、进行交互操作,保持长时间运行的程序不被中断,极大地提高了工作效率和便利性。

赞(4)
未经允许不得转载:工具盒子 » Screen-会话级别不中断的Linux终端