前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10.35 screen工具

10.35 screen工具

作者头像
运维小白
发布2018-02-06 15:13:48
7230
发布2018-02-06 15:13:48
举报
文章被收录于专栏:运维小白

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
代码语言:javascript
复制
[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即可
代码语言:javascript
复制
[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作业的名称
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • screen工具
    • screen
      • screen命令,多个虚拟终端同时运行
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档