在linux的环境中,我们想要在后台持续运行一些脚本,但是又因为关闭这个tty的话,脚本就会中断,这个时候我们就需要screen这个工具的帮助啦!

基础

 
  1. 1

    首先先查看下否则有这个工具。如果运行screen后提示command not found,那么说明我们还没有安装这个工具。

  2. 2

    如果redhat系的linux distribution,那么可以用yum install -y screen 来安装screen。

  3. 3

    安装完毕后在运行screen,会跳出这么一个介绍页面,再按回车键,那么就进入到screen里面啦!

     
  4. 4

    我们可以在里面运行我们需要的脚本,那么运行完后怎么回到原来的命令行呢?答案是:先按CTRL+a,然后再按d。

  5. 5

    在原来的界面运行screen -ls可以看到现有的screen的会话。

  6. 6

    怎么回到这个screen的会话中呢?运行screen -r <session>,那我们这边就是运行screen -r 2684.pts-0.NetDimCC。

  7. 7

    这就是基本的screen的用法啦~

    END

进阶

 
  1.  

    那后面讲一些比较有用的screen的命令。

    Screen分屏,有的时候我们需要边观察一个命令的输出边执行一些操作,开两个CLI是一种解决方式,用screen分屏的功能也能做到。

    首先在screen的session中按CTRL+a,X,这个时候就会出现第二个屏。

  2.  

    然后按CTRL+a,tab可以在两个屏幕之间自由切换。

  3.  

    切换到下个屏幕后,没有命令输入的提示符啊,怎么建立呢?

    按CTRL+a,c

  4. 4

    还有一个命令要强烈推荐下,可以在detach的模式下跑screen的命令,我经常用这个命令去在后台持续抓包。

    就是在主tty中,运行 screen -dm <你要跑的命令>

    看下图,我运行screen -dm tcpdump,然后再去查看screen的 session时,发现多了一个,但是我并没有进入screen的会话中,也就是并没有attach进去。

    转自

    screen 常用命令_百度经验
    https://jingyan.baidu.com/article/25648fc184e9ab9190fd005c.html

    自己总结

    screen 可以理解为一个虚拟屏幕;

    在同一个终端下拥有多块“屏幕”——即“会话”。

    screen -S yourname -> 新建一个叫yourname的session
    screen -ls(或者screen -list) -> 列出当前所有的session
    screen -r yourname -> 回到yourname这个session
    screen -d yourname -> 远程detach某个session
    screen -d -r yourname -> 结束当前session并回到yourname这个session

    #创建一个离线会话screen -dmS test

    #查看会话列表screen -ls
    There is a screen on: .test (Detached) Socket in /var/run/screen/S-root.

    #进入会话screen -r test
    # 或者screen -r

    # 执行下载命令aria2c -s -x -c http://xxxxx

    #退出会话Ctrl+a,按d

    #或者会话screen -d test

    #下次进入会话重复上面的步骤即可

    #退出会话后,里面运行的程序不会停止 #退出会话,可以使用-ls然后kill掉,但建议使用以下方法
    screen -r test
    exit

    [root@test1 ~]# screen -r test
    [screen is terminating]

screen命令使用方法【转】的更多相关文章

  1. Linux中Screen命令使用方法

    一.使用Screen创建一个Session screen -S sessionName 注:sessionName是要删除的session名字 二.结束一个Screen创建的session 1.首先使 ...

  2. linux screen 命令详解

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  3. linux screen 命令详解[转]

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  4. linux screen 命令详解(未验证+研究)

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  5. [转]linux中强大的screen命令

    [转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...

  6. linux之screen命令

    linux平台下想同时运行多个操作,执行多个程序或命令:命令行就一个,要想同时执行多个命令如何操作? 一个screen命令即可: Centos操作系统默认没有安装screen: 安装方法: Cento ...

  7. Screen命令安装使用教程

    在安装lnmp之前,我们一般先运行一下Screen程序,因为screen好像一个容器一样,把lnmp的安装过程保护了起来.以CentOS中安装lnmp为例,程序下载.编译都需要比较长的时间,如果中途遇 ...

  8. screen 命令安装使用

    初次接触Linux的朋友总会有个感觉:Windows平台想同时运行多个操作,执行多个程序或命令只需要打开程序即可:但在Linux中,命令行就一个,要想同时执行多个命令如何操作? 其实,只需要一个简简单 ...

  9. 天河2号-保持使用yhrun/srun时连接不中断 (screen 命令教程 )

    问题重述: 当我们使用天河机进行并行程序实验的时候,都会使用到yhrun/srun命令.在超算环境下,yhrun 命令用来进行提交交互式作业,有屏幕输出.但是容易受到网络波动影响导致断网或者关闭窗口最 ...

随机推荐

  1. hdu 6435 CSGO(最大曼哈顿距离)

    题目链接 Problem Description You are playing CSGO. There are n Main Weapons and m Secondary Weapons in C ...

  2. 使用Appium上传/下载文件(push文件、pull文件)

    package com.lx.class1; import java.io.File; import java.io.IOException; import java.net.URL; import ...

  3. C++解析-外传篇(3):动态内存申请的结果

    0.目录 1.动态内存申请一定成功吗? 2.new_handler() 函数 3.小结 1.动态内存申请一定成功吗? 问题: 动态内存申请一定成功吗? 常见的动态内存分配代码: C代码: C++代码: ...

  4. 聊聊flink的Async I/O

    // This example implements the asynchronous request and callback with Futures that have the // inter ...

  5. spark core (二)

    一.Spark-Shell交互式工具 1.Spark-Shell交互式工具 Spark-Shell提供了一种学习API的简单方式, 以及一个能够交互式分析数据的强大工具. 在Scala语言环境下或Py ...

  6. Introducing my blog

    作为一名计算机专业的学生,在我的博客中我会记录以下几方面的内容: 1.在阅读各类专业书籍的过程中,遇到了一些自己通过很大努力才思考.解决出来的问题/知识/概念,我会通过我自己的讲解将这些问题较为全面. ...

  7. struts2 文件下载的处理

  8. valgrind检查C/C++内存泄漏

    valgrind --tool=memcheck --leak-check=full ./httptest  valgrind --tool=memcheck --leak-check=full -- ...

  9. JS数组---转及补充--

    javascript之数组操作 1.数组的创建 var arr=Array();//写的角标数及直接写角标对应的内容简写 var arr=Array("我","爱&quo ...

  10. DES加密解密类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.S ...