screen概念:

“screen命令类似于“虚拟桌面”的概念,可以启动一个Linux下的虚拟桌面,在其中可以和普通终端一样执行各种命令。”

screen可以实现当前窗口和任务的分离,即使在离线状态下,我们在服务器上的程序仍能在后台运行。重新登录到服务器后,读取窗口进程,就能连接到对应的程序窗口。

一、需求背景:

1)ubuntu环境中需要同时启动前端和后端,但是两者不能同时在一个窗口中运行;

2)如果ubuntu环境过一段时间不使用,会被自动退出,此时启动的进程也被终止。

二、业务实现

1.检查ubuntu中是否有screen,没有则安装

sudo apt-get install screen

2.安装完成之后,我们还是进入到上次我们创建的文件夹

screen -ls     #显示当前用户所拥有的scree详情
sudo su
screen -S myserver    #1.创建一个名为 myserver的screen
conda activate web
cd MyService/myserver/
python myserver.py    #在窗口myserver中运行后端python程序
Ctrl+a d    #退出当前screen

screen -S myclient #2.创建一个名为myclient 的screen
conda activate web
cd  MyService/myclient/
npm run serve    #在窗口lin中运行前端程序
Ctrl+a d

screen -ls   #显示当前用户所拥有的scree详情
screen -r myclient     #进入窗口myclient     
screen -r myserver    #进入窗口myserver   
Ctrl+a d  #退出当前窗口

这样,开两个screen窗口分别运行前端和后端,即使关掉xshell之后网站也会在后台继续跑 不会被关闭啦。

三、screen常用命令总结

Ctrl+a ?    显示所有键绑定信息
               Ctrl+a w    显示所有窗口列表
               Ctrl+a C-a    切换到之前显示的窗口
               Ctrl+a c    创建一个新的运行shell的窗口并切换到该窗口
               Ctrl+a n    切换到下一个窗口
               Ctrl+a p    切换到前一个窗口(与C-a n相对)
               Ctrl+a 0..9    切换到窗口0..9
               Ctrl+a a    发送 C-a到当前窗口
               Ctrl+a d    暂时断开screen会话
               Ctrl+a k    杀掉当前窗口
               Ctrl+a [    进入拷贝/回滚模式

1)List all screen sessions of current user
#screen -ls

2)To see all screen sessions on a specific machine
#ls -laR /var/run/screen/

3)To see all commands or parameters on screen.
Ctrl + a, Then Press ?

4)Open a new screen session
#screen

5)Detach/Exit from a screen session
Ctrl + a, Then Press d

6)Kill a screen session
Ctrl + a, Then Press Shift + k

7)Reattach to a screen session
#screen -r session_id_or_name

8)How to create multiple screen window/tab in a screen session
Ctrl + a, Then Press c

9)How to move to next screen window/tab in a screen session
Ctrl + a, Then Press n

10)How to move to previous screen window/tab in a screen session
Ctrl + a, Then Press p

11)How to goto n'th screen window/tab
Ctrl + a, Then Press '

12)How to list name of all screen windows/tabs and select from there
Ctrl + a, Then Press Shift + '

13)How to switch to screen window/tab 0 - 9
Ctrl + a, Then Press 0 -9

14)
How to Toggle  to  the  window/tab  displayed  previously
Ctrl + a, Then Ctrl + a again

15)How to change the name of screen window/tab
Ctrl + a, Then Press Shift + a

16)How to clear a screen window/tab
Ctrl + a, Then Press Shift + c

17)How to Kill all windows and terminate screen
Ctrl + a, Then Press \
screen -ls

18)How to lock a screen session
Ctrl + a, Then Press x

19)How to log a screen session
You will find screenlog.0 file in your home directory.
Ctrl + a, Then Press Shift + h
or
#screen -L (Capital L)

20)reattach to a specific window/tab in a screen session
#screen -r session_id_or_name -p tab_num_or_name

21)If a session is running, then reattach. If necessary detach and logout remotely first. If it was not running create it and notify the user.
#screen -D -R

22)How to create new screen session and specify a meaningful name for the session.
#screen -S session_name

23)Howto Attach to a not detached screen session.
#screen -x

24)How to split screen
a)
Split the Window
Horizontally
Ctrl + a, Then Press Shift + s
or
Vertically
Ctrl + a, Then Press Shift + \

b)
Switch between spilted windows
Ctrl + a, Then Press Tab
or
Ctrl + a, Then Type :focus
* Here :focus is a command

c)
In the spited window use following command to open existing session
Ctrl + a, Then Press 0-9
or
Ctrl + a, Then Press n or p
or
Ctrl + a, Then Press Shift + '
or
Ctrl + a, Then Presss c

d)
Resize a splitted window/region
Ctrl + a, Then Type :resize 25
* Here :resize is a command

e)
Remove current splitted window/region
Ctrl + a, Then Type :remove
* Here :remove is a command
or
Ctrl + a, Then Press Shift + x

f)
Remove all spiltted windows/regions except the current one.
Ctrl + a, Then Type :only
* Here :only is a command
or
Ctrl + a, Then Press Shift +q

g)
Change color of split bar (border)
http://michael-prokop.at/computer/config/.screenrc
#vim ~/.screenrc
sorendition 10 74

h)
Close the screen and all regions
Ctrl + a, Then Press \

25)How to rename an existing session
screen -ls
screen -x old_session_name
Ctrl + a, Then Type :sessionname new_session_name
*Here :sessionname is a command

ubuntu中screen的使用相关推荐

  1. Ubuntu中的颜色选择器实用程序(彩色移液器)[关闭]

    本文翻译自:Color picker utility (color pipette) in Ubuntu [closed] I'am looking for a color picker utilit ...

  2. Ubuntu中输入输出重定向及管道技术简述

    输出 1.标准输出 定义:程序在默认情况下输出结果的地方(stdout). 2.输出重定向 定义:用于把数据的输出转移到另一个地方去. 3.Ubuntu中例子 $ls > ~/ls_out  # ...

  3. 如何使用Wine在Ubuntu中安装Evernote 4.0

    Evernote is a great application for taking notes and having them available virtually anywhere-except ...

  4. ubuntu中启用ssh服务

    ssh程序分为有客户端程序openssh-client和服务端程序openssh-server.如果需要ssh登陆到别的电脑,需要安装openssh-client,该程序ubuntu是默认安装的.而如 ...

  5. ubuntu chrome java插件_在Ubuntu中为Chrome安装Java插件

    问题描述 我有JDK,在Ubuntu中一切正常,我是说IDE,一些应用程序,我能够开发和运行项目,但是我在Chrome中收到一条消息:Java(TM) is required to display t ...

  6. API Sanity Checker在Ubuntu中的使用

    API Sanity Checker是一个自动生成单元测试用例的工具,可用于链接测试.它可用于三大桌面平台,下面简单介绍它在Linux下的使用步骤: 1.      从http://ispras.li ...

  7. Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

    关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案 转载于:https://www.cnblogs.com/daemonFlY/p/10916812. ...

  8. 如何从 Ubuntu 中彻底卸载 Google Chrome

    我希望这篇快速的入门技巧可以帮助你在 Ubuntu 上摆脱 Google Chrome. 现在,你已经成功地 在 Ubuntu 上安装 Google Chrome.毕竟,它是世界上受欢迎的网页浏览器了 ...

  9. linux恢复设置文件夹,将.bashrc文件恢复到Ubuntu中的默认设置

    以下介绍在Ubuntu系统中将.bashrc文件恢复默认设置的方法,如果你在Ubuntu系统中把.bashrc文件搞坏了就按下面的方法恢复bashrc文件. 背景 我有一个Ubuntu VM,我经常用 ...

  10. ubuntu中如何使用中文输入法

    今天我的一个小朋友问我,如何在ubuntu中使用中文,对于一个初入门的人来说,这确实是一个好的问题,我看了一下我的系统,竟然也不能输入中文哎.我也老搞一下. 首先,要先下载一个输入法,毕竟即使配置好了 ...

最新文章

  1. 霸气!曝阿里于AI方面取得卓越成绩
  2. SQL SERVER镜像切换
  3. XMLhttp学习应用
  4. 网络基础4(TCP三次握手,四次握手,TCP流量控制,TCP状态转换 , TCP异常断开,设置TCP属性,端口复用)
  5. AI应用开发实战系列之四 - 定制化视觉服务的使用
  6. 小学计算机教案表格式,小学信息技术教案表格数据处理.docx
  7. word不能插入压缩包等文件的解决办法
  8. SDL(01-10)
  9. 缺失索引自动创建语句
  10. ETL工具kettle之Java脚本+Elasticsearch bulk insert
  11. Kruskal重构树 学习笔记
  12. 编写一个静态方法 lg(), 接受一个整型参数 N,返回不大于 log2N 的最大整数。
  13. poj 2152 Fire - 经典树形dp
  14. NETDMIS5.0对有CAD模型的工件运用“3-2-1”法建立零件坐标2023
  15. 战争教育策略游戏 MiracleGame,开启新阶段重塑生态和玩法
  16. Java:XML之JavaSE SAX解析
  17. 有趣的小游戏——猜数字
  18. 【已解决】MySQL 服务正在启动 MySQL 服务无法启动
  19. CATIA批量导入导出数据到EXCEL
  20. Java反射体系详解

热门文章

  1. python从键盘上输入10个数、求其平均值_从键盘上循环输入10个数,求其平均值,并打印输出....
  2. matlab正态分布概率密度函数,MATLAB绘制正态分布概率密度函数(normpdf)图形
  3. 航空爱好者的自问自答(1)
  4. Ubuntu压缩、解压
  5. python列表解析的底层详解
  6. 工具说明书 - 搜索引擎推荐
  7. 如何制作龙芯系统安装U盘
  8. TCP的SYN报文可以携带payload吗?
  9. Wilcoxon秩和检验
  10. java设计模式之组合设计模式