如何关闭 tmux 会话

ph3*_*3nx 117 unix terminal console tmux

我正在使用 tmux 来管理多个终端窗口。目前我打开了 2 个带有多个窗格的窗口。我知道我必须使用前缀(对我来说是ctrl+ a)来输入命令。

如何从 tmux 内部关闭会话?什么命令会同时关闭会话(所有窗口和窗格)和 tmux?

0xC*_*22L 146

按您的前缀(例如Ctrl+AB,这是默认值),然后:输入kill-session,然后点击Enter。正如命令的名称所暗示的那样,这将终止会话。

  • `exit` 也可以用来代替 `kill-session` (7认同)
  • `exit` 只会关闭,例如,tmux 打开的 bash。当您只打开一个面板时,这也可能会关闭窗口 - 在一个窗口内打开两个面板时则不然。 (6认同)
  • 这里有一些有用的绑定,以防万一有人偶然发现这个问题。将以下内容添加到`.tmux.conf``bind Cx确认-before -p“杀死其他窗口?(y/n)”“kill-window -a”``bind Q确认-before -p“kill-session #S?(y/n)“终止会话` (3认同)
  • @Antonio 它会杀死窗口而不是会话。 (3认同)

Vil*_*lle 57

如果您想关闭当前会话以外的会话(从而保持 tmux 运行;关闭当前会话,如@0xC0000022L 的回答所示,即使其他会话可用,也会关闭 tmux),请在其中一个 tmux 窗口中执行以下操作:

# tmux ls
keepMe: 1 windows (created Wed Jun 24 14:20:15 2015) [171x41]
otherSession: 1 windows (created Wed Jun 24 14:22:01 2015) [171x41]
3: 1 windows (created Wed Jun 24 14:23:28 2015) [171x41]

(assuming here that you're on keepMe session)
# tmux kill-session -t otherSession
-or-
# tmux kill-session -t 3
Run Code Online (Sandbox Code Playgroud)

这将删除“otherSession”或第 3 个会话,并让 tmux 继续运行,假设您在删除它们时没有选择“otherSession”或第 3 个会话。

  • 或者,如果你更喜欢使用前缀,`ctrl + prefix` 后跟 `:`,然后输入 `kill-session -t name` 或 `kill-session -t number`。如果您在会话中执行此操作,则您想使用 `tmux a` 终止重新连接。 (2认同)

FSc*_*ndr 35

TMUX 前缀(例如ctrl+ b)+:kill-session

或者

tmux kill-session (可以从会话内部或外部运行)

两种调用风格都可以使用标志:

-t target-session销毁给定的会话
-a销毁所有会话,但给定的会话或您所连接的会话除外

kill-session从 TMUX 外部运行会终止您连接的最后一个会话。-a反转那个。

在活动现场,你必须运行,您可以杀死多个会话的所有会话在一次与:kill-server

  • 没有人指出,您可以使用“kill-server”命令关闭所有会话。我还喜欢为“kill-session”标志提供更多的深度。 (2认同)
  • +1:这个答案也是唯一一个有用的`-a` 来销毁所有其他会话。 (2认同)

小智 17

以交互方式执行此操作的最佳方法之一是按ctrl+进入窗口模式b,然后按 添加标签。然后按大写键杀死所有标记的窗口...wtX

在此输入图像描述

当您启用鼠标时,这一点会很明显。 在此输入图像描述

  • 可爱的动画图像! (3认同)

Mar*_*aun 6

如果您想方便地终止一个会话及其所有窗口和窗格,只需按 即可PREFIXs。然后导航到会话并点击x并确认y

使用前缀 s 和 xy 终止会话

^A是我的前缀)

您还可以使用标记多个会话t,然后使用 杀死标记的会话X

如果您终止当前会话,tmux也将退出。如果您不想退出,只需在终止相关会话之前切换不同的会话即可。