终止 tmux 服务器后立即启动 tmux 会话

终止 tmux 服务器后立即启动 tmux 会话

如果我跑

tmux kill-server ; tmux new -d -s test

有时它会起作用,但有时我会得到lost serverno server running on /tmp/tmux-1000/default

如果我做

tmux kill-server ; sleep 0.1; tmux new -d -s test

那么它总是有效的。但我怀疑它可能会在负载很重的系统上失败。

期间发生了什么sleep 0.1?有没有办法明确等待它?

答案1

内联执行命令并不总是能够无缝地工作,原因是:

  • 如果您运行第一个命令,该命令需要系统时间来执行。
  • 第二个命令依赖于它,并且如果需要相同/部分资源。

内联命令之间有延迟是件好事。系统有时会像我们想象的那样响应:)

答案2

tmux kill-server ; tmux new -d -s testtmux kill-server && tmux new -d -s test

您想确保tmux kill-server成功才能启动新服务器。

看来tmux kill-server,我也遇到过同样的情况。看起来它是作为守护进程运行的,当它返回时,并不意味着服务器被杀死了。

相关内容