如何在终端窗口关闭时自动终止 tmux 窗口?

如何在终端窗口关闭时自动终止 tmux 窗口?

我正在终端窗口的 tmux 窗口中启动一个进程。当我关闭终端窗口时,进程不会自动杀死,但如果我在关闭终端窗口之前杀死 tmux 窗口,进程就会被杀死。当终端窗口关闭时,如何杀死相关的 tmux 窗口?

我们可以将命令绑定到终端窗口的关闭事件吗?

答案1

这有点麻烦,但您可以将其添加到交互式 shell 配置中:

alias tmuxn='tmux new-session -s $$'
_trap_exit() { tmux kill-session -t $$; }
trap _trap_exit EXIT

然后您可以使用它tmuxn来启动新会话。该会话将被命名为您的 shell 的 PID。当你的 shell 退出时,会话将被终止。

答案2

也许你不能。
对于大多数使用 的人来说tmux,他们通常会关闭终端窗口而不是 tmux 窗口,以保持进程 ( ssh-client for example) 运行。然后,您可以在另一个终端中附加 origin tmux 会话。
如果你不需要这个特征,您可以使用terminator代替tmux终结者分割终端窗口本身。因此,如果关闭终结器窗口,则会关闭该窗口中运行的所有内容。后台不会保留任何内容。

相关内容