本文于 12 天前发布,最后更新于 10 天前
一、概述
tmux 终端多任务和会话管理【Terminal multiplexer 终端多路复用】——可以让用户同时开启多个终端会话的工具(后台)
jobs 只会显示从属于同一个 shell 启动的后台任务。则,当用户退出原本的 bash 后,再次登录的 bash 就不是原先执行后台任务的 bash,因此无法显示出来。这个时候就可以使用tmux工具解决。
功能:
- 创建、访问和控制多个终端会话
- 分离会话,使会话在后台继续运行,并在需要时重新连接
- 会话是持久性的,可在意外断开后继续存在
使用场景
- ssh 远程执行需要长时间运行的命令时
- 担心连接断开导致子进程被一起关闭
- 可以用 tmux 开启新的会话并放入后台执行
二、使用方法
首先安装tmux
yum -y install tmux
要开启一个新的会话只需要运行 tmux 命令即可,运行后,此时终端窗口的底部会显示一行信息,表明了当前我们位于 tmux 会话窗口内【如下】
- [0]:表示会话编号,默认数字表示,也可以人为修改
- 0 :表示会话中的 0 号窗口,一个会话中可以有多个窗口
- bash:表示会话正在运行的命令
- *:表示当前所在的窗口
如果不想保留这个会话直接输入 exit 退出即可。
新建一个名叫test的会话
tmux new -s test
如果想要保留这个会话,只是暂时需要退出,可以使用组合键 【按住 CTRL+B,松开后再按 D 键 Detached】
退出后,查看当前所有的会话列表
[root@dameng ~]# tmux ls
test: 1 windows (created Tue Dec 10 13:38:38 2024) [200x45]
如果需要回到刚刚的会话,有以下几种方式:
[root@dameng ~]# tmux attach-session -t test
[root@dameng ~]# tmux a -t test
[root@dameng ~]# tmux a
注意
attach-session可以简写成a,即第二种方法
不指定会话名称,省略-t参数,即第三种方法