背景

如果你的tmux存在session信息,但是你更新了tmux的版本。此时,再进入已存在的session中就会类似提示:

protocol version mismatch (client 7, server 6)

各个版本的提示信息的版本(6或者7)是不一定的,也可能是(7或者8)。

这种情况下就无法再进入已存在的session中了。

解决方案,可以大致给出两种:

  • kill已存在的tmux会话
  • 临时进入方法

解决方案

kill已存在的tmux会话

很简单,通过ps aux | grep tmux 把看到的tmux进程id通过kill -9 pid的方式kill掉,然后再重新新建会话即可。

临时进入使用

如果你已存在的tmux会话中的进程当前还不能终止,那么可以选择临时方案。

pgrep tmux
或者
ps aux | grep tmux

找到对应的tmux进程id(如,6797)。
然后,通过如下命令进入:

/proc/6797/exe attach

即,/proc/pid/exe attach方式。

总的来讲,出现这个问题的主要原因就是原来会话的tmux版本和当前升级之后的tmux版本信息不一致,导致client和server不匹配产生的。

最后修改:2020 年 08 月 18 日 11 : 01 AM