因此通常当您有一个 X 终端并退出窗口时,该终端将死亡并且 HUP 将被发送到所有以该终端作为控制终端的进程,它们通常的响应是在收到 HUP 后退出。
当 tmux 进入终端和实际进程(通常是 shell)之间时,这种情况不会发生。在 HUP 上,tmux 似乎只是分离而不是终止任何当前连接的会话。这意味着会话会继续徘徊,但 shell 进程本身以及该 shell 内任何正在运行的进程也是如此。
所以我想要的理想行为(但当然欢迎任何比当前更好的改进)是。
- 当 tmux 实例正在运行的控制终端窗口退出并发送 HUP 时
- tmux 应该将 HUP 本身发送给任何当前未附加到其他地方的会话
- 理想情况下只将其发送给没有明确指定名称的会话
顺便说一下,我知道您可以通过退出PREFIX+:kill-session
或简单地退出来避免这种情况ctrl+d
,但前者很冗长,而后者仅适用于在 EOF 时退出的 shell。