背景
如果你的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不匹配产生的。