【问题标题】:Tmux failed to connect to server error on `tmux ls` when there are no running sessions当没有正在运行的会话时,Tmux 无法连接到“tmux ls”上的服务器错误
【发布时间】:2015-07-03 12:44:48
【问题描述】:

当我登录到服务器时,只需编写一个快速循环来列出现有的 tmux 会话,具体取决于是否安装了 tmux(通过 CentOS 上的 .bashrc)。

if rpm -q tmux; then
    echo -e "TMUX sessions running:\n"
    echo `tmux ls`
fi

这在 tmux 有一个或两个会话时效果很好,但如果没有正在运行的 tmux 会话,我会收到failed to connect to server: No such file or directory

有没有办法抑制这种情况?

谢谢!

【问题讨论】:

  • 重定向stderr/dev/null
  • tmux ls 行上没有回显的原因。这完全没有意义(并且对ls 输出的间距有害)。
  • 你的两个 cmets 都很有帮助,我有我想要的输出。不过,仍然不清楚为什么 tmux 会在没有会话的情况下输出错误。

标签: bash tmux


【解决方案1】:

请注意,您可能正在运行 tmux 服务器,但您无法连接到它,因为有人清理了 /tmp 目录并使用了服务器的套接字。

在这种情况下,您可以通过向服务器发送 SIGUSR1 信号来告诉服务器重新创建套接字。

% ps aux | grep -w [t]mux
root     14799  0.2  0.0  36020   488 ?        Ss   May08  51:30 tmux
% kill -USR1 14799
% tmux ls
<list of tmux sessions>

【讨论】:

    【解决方案2】:

    结合使用@Barmar 和@Etan Reisner 的建议:

    tmux ls 2> /dev/null
    

    没有会话时不回显,否则报告列表。

    【讨论】:

      猜你喜欢
      • 2018-09-12
      • 1970-01-01
      • 2021-07-16
      • 2020-08-31
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      相关资源
      最近更新 更多