10.35 screen工具
时间:2022-04-27
本文章向大家介绍10.35 screen工具,主要内容包括screen工具、screen命令,多个虚拟终端同时运行、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
screen工具
- 为了不让一个任务意外中断
- nohup command &
- screen是一个虚拟终端
- yum install -y screen
- screen直接回车就进入了虚拟终端
- ctral a组合键再按d退出虚拟终端,但不是结束
- screen -ls 查看虚拟终端列表
- screen -r id 进入指定的终端
- screen -S aming
- screen -r aming
screen
- screen,虚拟的一个屏幕,也可以理解为一个虚拟的终端
- 需求,执行一个脚本,需要一天一夜,而且脚本会输出一些东西出来,这就意味着这个脚本不能中途断开,保证脚本不中断,有两种方法:
- 方法一:把这个任务丢到后台去,然后加一个日志的输出
- 命令nohup command &——>nohup 加执行命令 加日志 再加一个&符号
- 这时即使你的终端断开,依旧会在后台执行——>但虽然解决了任务中断的问题,但是没有办法实时查看输出的内容
- 方法二:screen工具,可以把要执行的命令,放到这个终端里,然后在退出pts/0之前,可以把screen丢到后台去,随时用, 随时查看
- 方法一:把这个任务丢到后台去,然后加一个日志的输出
- 安装screen包——>yum install -y screen
- 在安装完成后,直接敲screen命令,回车,会进入到screen,进入到一个窗口,这个窗口就是一个虚拟终端
- 在虚拟终端,执行vmstat 1命令,然后 ctrl+a键 同时按,随后再按 d键 ,就把screen丢到后台了
- 执行screen ls 命令,列出当前所有的session
- 执行screen -r 再加查看到的id 命令,再回到虚拟终端
- 这时若不需要screen了,直接杀死,按 exit 即可
- 再次 screen -ls 查看,会发现没有screen
[root@hf-01 ~]# screen
在虚拟终端下执行了vmstat 1,按 ctrl+a键 同时按,随后再按 d键 ,就把screen丢到后台了
[detached from 2841.pts-0.hf-01]
[root@hf-01 ~]# screen -ls //列出当前所有的session
There is a screen on:
2841.pts-0.hf-01 (Detached)
1 Socket in /var/run/screen/S-root.
[root@hf-01 ~]# screen -r 2841 //重新回到虚拟终端——>若不需要screen了,直接杀死,按 exit 即可
[screen is terminating]
[root@hf-01 ~]# screen -ls //再次查看,会发现没有screen
No Sockets found in /var/run/screen/S-root.
[root@hf-01 ~]#
screen命令,多个虚拟终端同时运行
- screen可以执行多个虚拟终端,同时运行
- 若想进入到其中一个,指定id即可
[root@hf-01 ~]# screen
[detached from 2880.pts-0.hf-01]
[root@hf-01 ~]# screen
[detached from 2903.pts-0.hf-01]
[root@hf-01 ~]# screen
[detached from 2926.pts-0.hf-01]
[root@hf-01 ~]# screen -ls
There are screens on:
2926.pts-0.hf-01 (Detached)
2903.pts-0.hf-01 (Detached)
2880.pts-0.hf-01 (Detached)
3 Sockets in /var/run/screen/S-root.
[root@hf-01 ~]#
- 但是时间久了,有可能会忘记某一个screen是运行的是什么(因为名字是相同的)
- 我们可以给screen作业的名称
- screen -S "test_screen" //指定screen作业的名称
- screen -r 后可以加id号,可以是screen作业的名称
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 娱乐圈排行榜动态条形图绘制
- vue3.0的 v-model 为啥不好用了?
- SHELL命令分组统计
- 一行代码实现display"过渡动画"原理
- 3D星空图
- shading-jdbc 4.1.1 + tk.mybatis + pagehelper 1.3.x +spring boot 2.x 使用注意事项
- 用辗转相除法求两个正整数的最大公约数
- Js根据数组相同的值生成二维数组
- 顺序消息管道《Message Pipe》v1.0.2版本发布
- Ts安装及自动编译ts文件
- python 自动化测试(1):获取验证码图片,实现自动登录
- RocketMQ学习第一步之源码构建
- python 库学习之:openpyxl
- python 学习之:读取xml配置文件
- 我的C语言入门笔记~!