Linux的screen命令

Linux中的screen命令是一个终端复用工具,允许用户在一个终端窗口中同时运行多个终端会话,并在这些会话之间自由切换。它的主要作用是为用户提供一个“会话管理器”,可以在一个终端窗口中创建多个虚拟终端,并在这些虚拟终端之间进行切换。

screen命令的主要特点包括:

  1. 会话管理:screen允许用户创建多个会话,每个会话都可以包含多个窗口,用户可以在这些窗口之间自由切换。

  2. 终端复用:用户可以在一个终端窗口中运行多个命令行程序,而不需要打开多个终端窗口。这提高了终端的利用效率,使用户能够更加高效地管理多个任务。

  3. 会话分离与附加:screen支持会话的分离和附加功能。即使终端会话与用户终端分离,其中的程序仍会继续运行。用户可以在其他终端或会话中重新连接到该会话,继续之前的工作。

  4. 窗口管理:screen提供了丰富的窗口管理功能,包括创建新窗口、列出当前所有会话和窗口、退出当前窗口等。

  5. 快捷键支持:screen支持多种快捷键操作,使用户能够更加方便地管理会话和窗口。

screen命令的每个虚拟终端都具备DECVT100终端和ANSI X3的控制功能,以及ISO 6429和ISO 2022标准(如插入/删除行和支持多个字符集)。每个虚拟终端都有一个回滚历史缓冲区和一个复制粘贴机制,允许用户在窗口之间移动文本区域。

在服务器上搭建服务时,screen命令尤为有用。某些服务在开启时需要占据整个控制台,如果关闭控制台就会导致进程终止。而使用screen命令,可以在服务器上开启多个控制面板(screen),用以容纳不同的任务,即使关闭了控制台,这些任务仍会继续运行。

screen 创建、查找、删除

apt-get install screen

# 创建screen
screen -d -m -S test_adb_shell
screen -ls test_adb_shell

# 查看会话列表
screen -lsscreen -list
# Attached:表示当前screen正在作为主终端使用,为活跃状态。
# Detached:表示当前screen正在后台使用,为非激发状态

# 重新连接会话,可以通过screen -ls获取id
screen -r <id>
# 如果不能恢复,则先screen -d后再走

# 从 screen 的会话列表中移除已死的(即不再存在的)会话
screen -wipe
# 注意: 这个命令并不会终止任何正在运行的 screen 会话,它只会清理会话列表中的已死条目。如果你想要终止一个正在运行的 screen 会话,你需要先使用 screen -r <session_id> 或其他方法附加到该会话,然后在该会话内部使用 exit 命令或按 Ctrl-A 然后 : 进入命令模式,并输入 quit 来退出会话

# 删除screen
screen -d -m -S test_adb_shell
screen -S <id> -X quit

screen: 启动一个新的 screen 会话。
Ctrl+A, D: 分离当前的 screen 会话。
screen -r: 重新连接到之前分离的 screen 会话。
Ctrl+A, C: 重新创建之前分离的 screen 会话。
screen -ls: 列出所有正在运行的 screen 会话。
screen -r session-name: 重新连接到名为 session-name 的 screen 会话。
screen -X: 在 screen 会话中启用扩展功能,例如鼠标支持、颜色设置等

示例

class CreateScreen:
def __init__(self, screen_name:str):
    self.screen_name = screen_name

def do(self):
    screen_command = "screen -d -m -S {0}".format(self.screen_name)
    if RemoveScreen(screen_name=self.screen_name).ok:
        self.logger.info("remove screen!")
    
    
class RunScreen:
    pass

class RemoveScreen:
    pass

class SipeScreen:
    pass
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lance_mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值