如何重新找回失去连接的tmux会话

错误描述:

不知道因为什么原因,tmux挂掉了。 显示“failed to connect to server”消息
尝试使用tmux ls 获取当前正在运行的会话列表时。报错

copy
failed to connect to server: Connection refused

使用tmux时,无法重新连接。

copy
$ tmux attach no sessions

但是查看tmux 服务的时候,还是存在的。

copy
$ ps -aef | fgrep -i tmux hari 7139 1 1 2016 ? 2-20:32:31 tmux hari 25943 25113 0 22:00 pts/0 00:00:00 fgrep --color=auto -i tmux

解决方案

这说明tmux服务器仍在运行,但是仍然显示tmux ls failed to connect to server: Connection refused错误。 验证了下属于tmux会话的tmp目录,并且lsof -p 7139 (tmux服务器的pid)显示套接字文件已打开:

copy
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME tmux 7139 hari 5u unix 0x0000000000000000 0t0 1712879255 /tmp/tmux-50440/default

也尝试明确指定-S /tmp/tmux-50440/default为tmux,但没有反应。
搜了一下, StackOverflow上的解决方案是 “Try sending SIGUSR1 signal to the tmux server process.”
尝试将SIGUSR1信号发送到tmux服务器进程。
因为在tmux的文档中也提到,发送SIGUSR1将使tmux重新创建套接字文件。尝试了这种方法后,就能找到会话并重新连接了。

copy
$ kill -s USR1 7139 $ tmux ls 0: 12 windows (created Mon Apr 18 21:17:55 2016) [198x62]

参考链接

  1. https://stackoverflow.com/questions/9668763/why-am-i-getting-a-failed-to-connect-to-server-message-from-tmux-when-i-try-to
  2. https://man7.org/linux/man-pages/man1/tmux.1.html
  3. https://timvisee.com/blog/reconnect-to-broken-tmux-session/
posted @   白云君  阅读(2044)  评论(0编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起