【tmux】终端复用器!让代码挂服务器后台执行

1 什么是tmux?

  • tmux (terminal multiplexer)是一种易用的终端复用器,简单来说,它允许我们在同一个终端窗口中创建多个不同的会话,支持同时执行不同的程序
  • 会话是指用户与计算机的交互(可以理解为正在运行的进程的载体),通常终端窗口和会话是 绑定 的,即关闭终端窗口会导致会话和进程中断
  • 使用tmux工具,可以有效地 解绑 终端窗口和会话,避免终端窗口被迫关闭导致的会话中断(也就是我们通俗讲的“代码挂服务器后台跑”,希望关机后继续跑代码~)

2 哪些场景用tmux?

  • 需要并行训练多个模型,而不想重复创建多个终端窗口
  • 远程连接服务器训练时,需要(主动/被动)关闭本地vscode(或者害怕突然停电关机!)
  • 希望在任何终端窗口中重新进入之前的会话中/允许同一个会话在不同终端窗口中连接
  • 支持同一终端窗口的拆分(纵向/水平均可)

3 基础操作介绍

3.1 安装tmux

安装tmux主要有两种方式,第一种将tmux当作一个系统的库安装,另一种是将tmux当作一个的Python的库安装:

# linux
sudo apt-get install tmux 

# mac
brew install tmux

# python (anaconda)
pip install tmux / conda install tmux

注意:所有的tmux快捷操作都需要先按ctrl+B,然后再按其他键!!!

3.2 创建tmux会话

用以下命令创建指定名称的会话:

tmux new -s <session-name>

3.3 分离tmux会话

用以下命令分离会话与窗口:

tmux detach
ctrl+B D

执行后,就会退出当前tmux的窗口,但是会话和里面的进程仍然在后台运行。

3.4 查看tmux会话列表

用以下命令查看tmux所有存在的会话列表:

tmux ls
ctrl+B S

在这里插入图片描述

3.5 连接到tmux会话

用以下命令重新连接到指定的tmux会话:

tmux a -t <session-name>

3.6 杀掉tmux会话

用以下命令kill tmux指定名称的会话:

tmux kill-session -t <session-name>

3.7 切换tmux会话

用以下命令切换不同的tmux会话:

tmux switch -t <session-name>

3.8 重命名tmux会话

用以下命令重命名指定的tmux会话:

tmux rename-session -t <old-name> <new-name>
ctrl+B $

3.9 窗口浏览

如果直接用鼠标或键盘方向键去浏览tmux窗口,会出现命令行乱码。所以,用以下命令在tmux会话窗口中进行上下浏览:

ctrl+B [

# 停止浏览
Q

3.10 拆分窗格(Pane)

用以下命令在tmux窗口中纵向/横向拆分窗口:

# 划分左右两个窗格
ctrl+B %

# 划分上下两个窗格
ctrl+B "

3.11 窗格切换

# 光标切换到其他窗格中
ctrl+B <键盘方向键>

3.12 关闭窗口

ctrl+B X
y

学会了tmux的基本操作后,你就可以放心大胆地关闭你的vscode和电脑了!下次开机重新打开vscode连接服务器,然后进入tmux会话窗口中收获你的实验结果~

参考资料:

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值