Linux 会话管理

庆云1年前技术文章367


在 terminal 终端中输入命令,这种用户与计算机的临时交互称为一次会话(session)。

会话的一个重要特点:与其中启动的进程是连在一起的,打开窗口、会话开始,关闭窗口、会话结束,会话内部的进程也会随之终止。

当有时候我们正在执行命令时,突然网络断线了,再次登陆是找不回上一次执行的命令的,因为上一次会话窗口已经终止了,进程也随之消失了。为了解决这个问题,会话可以与窗口解绑,窗口关闭时,会话并不终止,而是继续运行,等到需要的时候,再让会话绑定窗口。

终端复用器软件(Screen, Tmux)就是会话与窗口的解绑工具:

  1. 它允许在单个窗口中,同时访问多个会话,这对于同时运行多个命令程序很有用。

  2. 他可以让新窗口接入已存在的会话。

  3. 它允许每个会话有多个连接窗口,因此可以多人实时共享会话。

  4. 它还支持窗口任意的垂直和水平拆分。

1、Screen

利用 screen 可以实现会话管理(新建会话、共享会话等)。

  • 创建会话

    • screen -S [SESSION]

  • 加入会话

    • screen -x [SESSION]

  • 退出关闭会话

    • exit

  • 剥离当前会话

    • Ctrl+a,d

  • 显示所有会话

    • screen -ls

  • 恢复某会话

    • screen -r [SESSION]


实例:

"新建会话"
$ screen -S assist
"查看会话"
$ screen -ls
There is a screen on:
        8925.assist     (Attached)
1 Socket in /var/run/screen/S-root.

"加入会话"
$ screen -x assist

1.png1.png

2、Tmux

Tmux 也是一个终端复用器(terminal multiplexer),类似 screen,但是更易用、更强大。

  • 启动:tmux

  • 退出:exit

Tmux 窗口有大量的快捷键,所有的快捷键都要通过前缀键唤起。默认的前缀键是:Ctrl+b,即先按下 Ctrl+b,快捷键才会生效。帮助命令的快捷键是 Ctrl+b,?,按下 q 键退出帮助。

  • 列出所有的快捷键,及对应的 Tmux 命令

    • tmux list-keys

  • 列出所有的 Tmux 命令及其参数

    • tmux list-commands

2.1 会话管理

新建会话:

第一个启动的 Tmux 窗口编号是 0,第二个是 1,以此类推。使用编号区分会话不太直观,更好的方法是为会话起名。

$ tmux new -s <session-name>


查看会话:

tmux ls 或 Ctrl+b, s 可以查看当前所有的 Tmux 会话。

$ tmux ls
$ tmux list-session


分离会话:

在 Tmux 窗口中,按下 Ctrl+b,d 或者输入 tmux detach 命令,就会将当前会话与窗口分离。

$ tmux detach


接入会话:

tmux attach 命令用于重新接入某个已存在的会话。

$ tmux attach -t <session-name>


杀死会话:

tmux kill-session 命令用于杀死某个会话。

$ tmux kill-session -t <session-name>


切换会话:

tmux switch 命令用于切换会话。

$ tmux switch -t <session-name>

2.2 窗格管理

可以将窗口分成多个窗格(pane)。每个窗格运行不同的命令。

  • 上下分窗格:Ctrl+b, "

$ tmux split-window
  • 左右分窗格:Ctrl+b, %

$ tmux split-window -h
  • 切换窗格:Ctrl+b,方向键

2.png

窗格快捷键:

快捷键

说明

Ctrl+b, %

划分左右两个窗格

Ctrl+b, "

划分上下两个窗格

Ctrl+b, 方向键

切换到其他窗格

Ctrl+b, ;

切换到上一个窗格

Ctrl+b, o

切换到下一个窗格

Ctrl+b, {

当前窗格左移

Ctrl+b, }

当前窗格右移

Ctrl+b, Ctrl+o

当前窗格上移

Ctrl+b, Alt+o

当前窗格下移

Ctrl+b, x

关闭当前窗格

Ctrl+b, !

将当前窗格拆分为一个独立的窗口

Ctrl+b, z

当前窗格全屏显示,再使用一次会变成原来大小

Ctrl+b, Ctrl+方向键

按箭头方向调整窗格大小

Ctrl+b, q

显示窗格编号

2.3 窗口管理

除了将一个窗口划分成多个窗格,Tmux 也允许新建多个窗口。

新建窗口:

tmux new-window 命令用来创建新窗口。

$ tmux new-window
$ tmux new-window -n <window-name>

切换窗口:

tmux select-window 命令用于切换窗口。

$ tmux select-window -t <window-number>
$ tmux select-window -t <window-name>


窗口快捷键:

快捷键

说明

Ctrl+b, c

创建一个新窗口,状态栏显示多个窗口信息

Ctrl+b, p

按状态栏窗口顺序,切换到上一个窗口

Ctrl+b, n

切换到下一个窗口

Ctrl+b, <number>

切换到指定编号的窗口

Ctrl+b, w

从表格中选择窗口

Ctrl+b, ,

窗口重命名


相关文章

mysql 导出 csv 参数 secure_file_priv 设置

mysql 导出 csv 参数 secure_file_priv 设置

一、功能secure_file_priv 参数是用来限制数据导入和导出操作的效果,例如由LOAD data和SELECT…INTO OUTFILE语句和LOAD_FILE()函数。只有具有“FILE”...

使用Sqoop将数据从MySQL导入HBase (二)

使用Sqoop将数据从MySQL导入HBase (二)

创建hbase表create_namespace 'data';create 'data:data', {NAME => 'cf1'}, {NAME => 'cf2'}, {NAME =&...

EMR-flinksql运行失败问题

EMR-flinksql运行失败问题

运行flinksqlsql-client.sh报错:[root@emr1 bin]# ./sql-client.shSLF4J: Class path contains multiple SLF4J...

PG体系结构(三)

PG体系结构(三)

四、物理结构4.1 软件安装目录bin             //二进制可执行文件 include         //头文件目录 lib             //动态库文件 share ...

Linux下的IO统计工具:iostat,iotop

Linux下的IO统计工具:iostat,iotop

iostat      监视系统输入输出设备和CPU的使用情况。iostat命令 被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmst...

Redis 持久化机制 AOF

Redis 持久化机制 AOF

前言Redis 有两种持久化机制,分别是 RDB 与 AOF 本篇文章将介绍 AOF 的执行过程与应用。1. AOF 简介AOF (Append only file) 持久化是以独立日志的方式记录每次...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。