【实用工具】会话窗口管理命令screen的使用

以前使用ssh连接远程Linux服务器时,我通常使用nohup xxx.py &命令在后台运行一些python脚本命令。当想查看输出日志的时候,我只好通过打开重定向文件来看log内容。有时候运行的后台命令比较多或者ssh暂时关掉了,还得查看下之前挂上的后台进程是啥,有点麻烦。同学推荐试试screen命令,进行会话窗口管理,可以方便地执行后台命令,无需担心突然断网导致命令中断。


创建screen会话

如果你所使用的linux发行版没有screen命令的话,可以自行安装一下。screen命令的使用方法很简单:

noahfeng@ubuntu:~$ screen

直接输入screen命令后便建立了一个screen会话并创建一个shell窗口,之后我们在该shell窗口中正常使用执行命令即可。若使用Ctrl + a + d快捷键退出该screen会话,所执行的命令依旧会在后台执行。
或者使用:

noahfeng@ubuntu:~$ screen -S name

给即将创建的screen会话设置一个便于区分的名字。

查看/重连screen会话

当我们退出某一screen会话之后,还想再重新连接进去,可以使用如下命令查看所有已开启的screen会话。

noahfeng@ubuntu:~$ screen -ls

该命令会输出所有screen会话,有如下形式输出:

There are screens on:
	4102.pts-12.ubuntu	(Detached)
	5731.pts-20.ubuntu	(Detached)

(直接使用screen创建会如上面所示,若使用screen -S name创建,会显示为4102.name
假如我们想连接到id为4102的screen,可通过下面命令:

noahfeng@ubuntu:~$ screen -r 4102   # 可以仅输入screen编号,也可以再按tab键补全screen会话全称。

注意: 有时使用screen -r xxx命令连接某一screen会话时,会提示There is no screen to be resumed matching xxx。此时可能是由于断网使得与screen断开,这时xxx窗口应该显示为Attached。我们只需要先将该会话由Attached转为Detached状态即可重连,使用如下命令:

noahfeng@ubuntu:~$ screen -d xxx

退出screen会话

如果不想使用某一screen会话了,在该screen会话窗口下使用如下命令退出:

noahfeng@ubuntu:~$ exit

若干快捷键

首先说明一下,由screen命令创建的会话窗口(一下简称会话)下可以创建多个shell窗口(以下简称窗口)。
快捷键都是以Ctrl + a作为起始键,再附加具体操作。

快捷键说明
Ctrl + a d暂时离开当前会话
Ctrl + a w显示所有窗口
Ctrl + a c创建一个新窗口并切换到该窗口
Ctrl + a n/p切换到下一个/上一个窗口
Ctrl + a 0…9切换到第0…或第9个窗口
Ctrl + a a在最近使用的两个窗口间切换
Ctrl + a k关闭当前窗口。(会提示是否确认关闭)
Ctrl + a A重命名窗口(这里的A是shift + a)
Ctrl + a Esc/[进入copy模式。可以上下翻页查看之前打印输出的日志,按Esc退出copy模式。

使用Ctrl + a w快捷键之后,会在左下角显示如:

0$ bash  1-$ bash  2*$ bash

上面是在1个会话中打开了3个窗口,带有-的表示上一次切换时位于窗口1,带有*的表示当前所在窗口。


参考链接

[1] linux screen 命令详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值