【Linux】screen



一、screen

screen为多视窗管理程序。在服务器上搭建一些服务的时候,经常要用到screen命令。例如某些服务开启时需要占据一整个控制台,如果关闭了就会导致进程终止。此时就可使用screen来在服务器上开启多个视窗(screen),以容纳运行不同的任务。

二、功能

screen的功能大体分为三个:

  • 会话恢复
    • 只要screen服务没有被停止,则在其内部运行的会话都可以恢复
    • 即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制,只要再次登录到主机上执行screen -r就可以恢复会话
    • 在暂时离开的时候,也可执行分离命令detach,保证里面的程序正常运行的情况下让screen挂起
  • 多窗口
    • 在screen环境下,所有的会话都独立运行,拥有各自的编号、输入、输出和窗口缓存
    • 用户可通过快捷键在不同的窗口下切换,并可自由地重定向各个窗口的输入和输出
  • 会话共享
    • screen可让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性

三、使用

3.1 安装

[root@server ~]# yum install -y screen
[root@server ~]# screen -v
Screen version 4.01.00devel (GNU) 2-May-06

3.2 常用参数

-A             Adapt all windows to the new display width & height.
-d <作业名称>   将指定的screen作业离线放入后台
-h <行数>       指定视窗的缓冲区行数
-r <作业名称>   恢复离线的screen作业
-R             先试图恢复离线的作业,若找不到离线的作业,则建立新的screen作业
-s             指定建立新screen时所要执行的shell  Shell to execute rather than $SHELL
-S <作业名称>  指定screen作业的名称 Name this session <pid>.sockname instead of <pid>.<tty>.<host>
-ls or --list  显示目前所有的screen作业
-wipe          检查目前所有的screen作业,并删除已经无法使用的作用

3.3 状态

通常情况,screen创建的虚拟终端,有两个工作模式:

  • attached,表示当前screen正在作为主终端使用,为活跃状态
  • detached,表示当前screen正在后台使用,为非激活状态

3.4 使用

3.4.1 终端列表

[root@server ~]# screen -ls
No Sockets found in /var/run/screen/S-root.

[root@server ~]# 

3.4.2 新建screen

[root@server ~]# screen -S hello

# pid.name
[root@server ~]# screen -ls
There is a screen on:
        6359.hello      (Attached)
1 Socket in /var/run/screen/S-root.

3.4.3 detached

# 在screen会话内,按Ctrl + a + d,即可保持这个screen到后台并返回到主终端
[detached from 6359.hello]

# 状态已发生变化 -> Detached
[root@server ~]# screen -ls
There is a screen on:
        6359.hello      (Detached)
1 Socket in /var/run/screen/S-root.

3.4.4 回到终端

通过-r参数回到指定screen终端,其内容仍是之前返回主终端前的内容。

[root@server ~]# screen -r hello
[root@server ~]# screen -ls
There is a screen on:
        6359.hello      (Attached)
1 Socket in /var/run/screen/S-root.

[root@server ~]# 

3.4.5 清除终端

可在终端内直接键入exit或使用按键Ctrl + D,便可清除掉当前终端。

[screen is terminating]
[root@server ~]# screen -ls
No Sockets found in /var/run/screen/S-root.

参考:
screen命令


  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值