首页 > 系统相关 >Linux命令系列(3) —— 单会话多shell命令:screen

Linux命令系列(3) —— 单会话多shell命令:screen

时间:2023-08-14 16:34:36浏览次数:32  
标签:shell 单会 screen Attached 命令 进程 Detached

目录

一. 命令简介

  在使用Linux的时候,有些情况下只能使用单个会话,但是又有多shell的需求;又有一种情况,需要执行一个在会话结束以后依旧需要执行的进程(在Linux系统中,用户通过shell登录后执行的进程都是挂载在当前shell下,作为用户shell的子进程,当用户的shell结束后,下挂的所有进程都会销毁),可以选择命令后缀 & ,这样可以将进程挂载到systemd(系统守护进程)下,但是并不灵活,对于一些需要依旧需要命令行交互的进程,挂载到系统守护进程后,就失去了进程的交互权。
  此时就需要一个功能强大的工具—— screen,模拟shell连接。

二. 安装

绝大多数的Linux发行版都内置了screen工具,部分没有安装的可以直接使用对应系统的包管理工具搜索并安装 screen 工具。

三. 常用命令

1. 查看shell

  • 查看screen版本
    screen -v
    
  • 查看所有创建的screen
    screen -ls
    
    此命令会打印所有创建的shell窗口,shell窗口会有两种状态:Attached(已连接/占用)和 Detached(离线/未占用)。

2. 创建shell

  • 直接创建
    screen
    
    这样会创建一个用户名+随机字符作为名称的shell窗口,并直接进入。并不推荐这样使用。
  • 自定义名称创建
    screen -S <name>
    
    这样可以指定创建出的shell窗口的名称,并直接进入。

3. 离开shell

  • 单shell离开(Attached -> Detached)
    screen -d
    
    此命令会将连接的shell置为离线状态(如果有其他终端用户也共享连接方式进入此shell,也会被踢出)。
  • 多shell离开(Attached -> Detached)
    screen -d <name/pid>
    
    多shell的情况下,需要指定shell名称或者pid(进程号)来对指定的shell离线处理。
  • 安全退出(Attached -> Attached/Detached)
    使用[Ctrl] + [a] + [d],即可安全退出当前shell(不影响其他终端用户继续使用此shell)。当最后一个用户退出此shell,shell的状态变为Detached。

4. 进入shell

  • 离线状态单shell进入(Detached -> Attached)
    screen -r [name/pid]
    
    当只有一个shell,且状态为Detached时,直接使用 -r 命令即可进入shell。(也可以后缀名称或者进程号)
  • 离线状态多shell进入(Detached -> Attached)
    screen -r <name/pid>
    
    当有多个shell的时候,就需要指定name或者进程号来进入状态为Detached的shell。
  • 进入已占用状态的单shell(Attached -> Attached)
    screen -x
    
    当shell变成Attached状态时,说明已经有用户进入了此shell,如果也想进入,需要使用 -x 命令。此shell就变为共享shell,所有进入的用户都可以即时的输入和看到输出。
  • 进入已占用状态的多shell(Attached -> Attached)
    screen -r <name/pid> - x
    
    多shell的情况下,进入Attached状态的shell,需要指定名称或者进程号。

5. 销毁shell

  • shell内命令销毁
    exit
    
    输入命令后,会销毁当前的shell,并将其他用户踢出。
  • shell内快捷键销毁
    使用[Ctrl] + [d],即可销毁当前shell。

标签:shell,单会,screen,Attached,命令,进程,Detached
From: https://www.cnblogs.com/NyanKoSenSei/p/17628796.html

相关文章

  • OCEANBASE语句命令
    select * from oceanbase.DBA_OB_TENANTSSELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS;2、建租户CREATE RESOURCE UNIT S1_unit_config                MEMORY_SIZE = '1G',                MAX_CPU = 1, MIN_CPU = 1, ......
  • 玩转Linux必不可少的命令之tar
    ❝在linux操作中,我们经常对文件进行操作,比如移动、复制等。单个文件的时候很好操作,但是一但文件比较多的情况下,我们最好的办法就是压缩打包,而tar命令可以帮助我们实现打包、解压的操作!❞什么是Tar它是Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后......
  • 命令 ipconfig /flushdns 的使用场合
    ipconfig/flushdns是一个在Windows操作系统的命令提示符(CommandPrompt)或者PowerShell中使用的命令。这个命令的作用是清除系统DNS解析缓存。首先,我们先来理解什么是DNS。DNS(DomainNameSystem,域名系统)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式......
  • 命令 nbtstat -R 的使用场合
    nbtstat是一个在Windows系统中用于诊断NetBIOSoverTCP/IP(NBT)的命令行工具。NetBIOSoverTCP/IP是一种可以在TCP/IP网络上使用NetBIOS服务的协议。NetBIOS是一种较旧的网络协议,主要用于小型局域网中的名称解析和数据共享。虽然现代网络通常使用DNS进行名称解析,......
  • (笔记)Ethercat解析之命令行工具的使用教程
     说明:EtherCAT为了方便用户空间对主站进行调试,因此提供一套用户空间使用的工具来设置从站参数,观察调试信息等等。正常情况下,每个主站的实例都会生成一个字符设备,名字为:/dev/EtherCATx。欲想深入了解其他命令,可通过执行ethercat–help命令来查看详细使用方法。 一、ethercat......
  • Kali小白入门命令
    不少小伙伴刚装完kali,开机后一头的雾水。不知道该如何入手,其实kali和其他Linux系统一样。从最简单的Linux命令入手,慢慢的掌握每个工具的使用方法。本文将为你整理了kali常用的基本命令,希望对你的学习有所帮助。......
  • Linux系统之dstat命令的基本使用
    (Linux系统之dstat命令的基本使用)一、dstat命令介绍1.dstat简介dstat是一个通用的系统资源统计工具,stat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令,是一个全能系统信息统计工具。2.dstat特点实时的监控cpu、磁盘、网络、IO、内存等使用情况......
  • Linux之shell脚本的循环
    一、循环语句1.1forhelpfor帮助文档foriinabc;doechohello;done[root@localhostdata]#foriinabc;doechohello;donehellohellohelloforiinabc;doecho$i;done[root@localhostdata]#foriinabc;doecho$i;doneabc[root@localhostd......
  • Linux-wget命令使用及参数详解
    wget简介Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意......
  • Dos命令
    Dos命令md新建目录名ping得到ip地址cd进入cd>创建文件del删除文件rd删除目录名......