• Linux screen命令基本用法详解


    背景介绍

    在服务器上搭建一些服务的时候,经常要用到screen命令。这是因为一般情况下我们只会开一个连接服务器的控制台,但是某些服务(比如minecraft服务器)开启的时候需要占据一整个控制台,如果关闭了就会导致进程终止。这就成了类似单进程的效果。而screen命令就是为了能够在服务器上开启多个控制面板(screen),用以容纳不同的任务。

    正文

    1、安装

    $sudo apt-get intstall screen

    2、screen界面

    screen界面就是当我们进入screen空间下的,占用了一个进程pid的一个界面。这个界面有他自己的名字,有他自己内部交互的快捷键,能够拥有很多不同的子终端的界面。也可以理解成独立于默认窗口之外的窗口。注意,是每一个screen界面都能拥有很多的子窗口,而我们的电脑能同时拥有很多不同的screen界面。

    3、面向screen级别的命令

    (1)新建一个screen :

    可以直接输入screen 来打开一个带有默认名字的screen界面,也可以加上 -S 参数来亲自制定一个好听的名字。然后系统就会切进当前的screen了。

    (2)查看当期存在的screen:

    输入screen -ls 可以查看当前存在的screen 界面,比如:

     他会显示当前的每一个screen界面,对于每一个界面,他的显示格式是:pid.name (time) (status) ,前面的不解释,最后的那个状态有(Attached) 和(Detached) ,表示是否已经连接进来(?其实不太懂这个意思,没有连接进来那就连接进来呗~有啥必要非得分开看呢。。。不过有一个明显的区别就是,当你断开主界面然后重新登录的时候,所有的screen都是显示Detached的。)

    (3)关闭和选择screen:

    想要关闭一个screen 就要先选择并且进入这个screen。

    首先用screen -ls查看你想要选的screen:

    如果他的状态是Detached的,我们需要输入screen -r <screen的pid> ,来进入这个screen ,或者screen -rd <screen的名称> ;

    如果他的状态是Attached的,我们就要输入 screen -d <screen的pid> ,来使他”Dettached”,然后再输入screen -r <screen的pid>,来进入这个screen。(必须先detached,否则是进不去的)

    进入了你想要关闭的screen之后,就可以直接输入exit,或者Ctrl+d,来终止这个界面了。成功终止后,如果有其他处于Attached状态的screen界面,他就会跳到那个界面中,如果没有,他就会跳到默认界面上。

    (4)清除损坏的screen :

    如果由于某些情况导致一个screen的状态处于Dead(很可能是程序出错或者强行删除进程锁之类的。。),我们无法attached进去,那么我们只需要输入screen --wipe ,就可以删除这些进程了。

    (5)删除某一个screen:

    $ screen -X -S 28508 quit

     

    MAC OS X 使用screen命令

    1、创建会话
    screen -S SessionName 创建一个screen会话
    2、会话detach以及会话恢复
    Ctrl-a d :将当前会话detach;
    screen -ls :查看当前有哪些会话以及它们各自的状态;
    screen -r yourname -> 回到yourname这个session
    3、screen -x 窗口名 :更换窗口
    4、Ctrl-a k :kill会话

    已有screen会话中创建新的窗口:

    (1)在当前screen窗口中键入C-a c;
    (2)C-a n,即Ctrl键+a键,之后再按下n键, 切换到下一个窗口;
    (3)杀死会话
    (4)上下分屏:ctrl + a 再按shift + s
    (5) 切换屏幕:ctrl + a 再按tab键

  • 相关阅读:
    sql 用Group by分组后,取每组的前几条记录
    mac安装 配置 ant
    js日期时间比较函数
    hibernate下载包中配置文件路径
    dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
    严重: Exception starting filter struts2解决方法!
    【Linux】进程优先级、进程nice值和%nice
    【Algorithm】二分查找
    【php】thinkphp以post方式查询时分页失效的解决方法
    【C语言】练习5-8
  • 原文地址:https://www.cnblogs.com/chenshengkai/p/14174641.html
Copyright © 2020-2023  润新知