10.35 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,虚拟的一个屏幕,也能够理解为一个虚拟的终端session

  • 需求,执行一个脚本,须要一天一晚上,并且脚本会输出一些东西出来,这就意味着这个脚本不能中途断开,保证脚本不中断,有两种方法:工具

    • 方法一:把这个任务丢到后台去,而后加一个日志的输出
      • 命令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做业的名称
相关文章
相关标签/搜索