如何让 tmux 在终端退出时正常终止会话

如何让 tmux 在终端退出时正常终止会话

因此通常当您有一个 X 终端并退出窗口时,该终端将死亡并且 HUP 将被发送到所有以该终端作为控制终端的进程,它们通常的响应是在收到 HUP 后退出。

当 tmux 进入终端和实际进程(通常是 shell)之间时,这种情况不会发生。在 HUP 上,tmux 似乎只是分离而不是终止任何当前连接的会话。这意味着会话会继续徘徊,但 shell 进程本身以及该 shell 内任何正在运行的进程也是如此。

所以我想要的理想行为(但当然欢迎任何比当前更好的改进)是。

  1. 当 tmux 实例正在运行的控制终端窗口退出并发送 HUP 时
  2. tmux 应该将 HUP 本身发送给任何当前未附加到其他地方的会话
  3. 理想情况下只将其发送给没有明确指定名称的会话

顺便说一下,我知道您可以通过退出PREFIX+:kill-session或简单地退出来避免这种情况ctrl+d,但前者很冗长,而后者仅适用于在 EOF 时退出的 shell。

相关内容