如何删除分离的 tmux 会话?

use*_*637 42 tmux

我将自己从 tmux 会话中分离出来:

$ tmux ls
0: 1 windows (created Thu Aug 22 22:52:17 2013) [218x59]
Run Code Online (Sandbox Code Playgroud)

无论如何,我现在可以简单地删除它吗?

Joe*_*nte 60

你想使用tmux kill-session

<~> $ tmux ls
0: 1 windows (created Sat Aug 17 00:03:56 2013) [80x23]
2: 1 windows (created Sat Aug 24 16:47:58 2013) [120x34]

<~> $ tmux kill-session -t 2

<~> $ tmux ls
0: 1 windows (created Sat Aug 17 00:03:56 2013) [80x23]
Run Code Online (Sandbox Code Playgroud)

  • 请注意,使用“tmux Kill-session -a -t $session”,您可以杀死除指定会话之外的所有会话。手册页的详细信息:https://www.man7.org/linux/man-pages/man1/tmux.1.html#CLIENTS_AND_SESSIONS (3认同)

Mat*_*ski 5

如果要删除所有分离的会话,可以使用以下代码:

tmux list-sessions -F '#{session_attached} #{session_id}' | \
  awk '/^0/{print $2}' | \
  xargs -n 1 tmux kill-session -t
Run Code Online (Sandbox Code Playgroud)

这个解决方案比 abieler 提出的方案更健壮,因为它通过 ID 计算所有分离的会话,不管它们的名字是什么(abieler 的解决方案会跳过一个名为attach的分离会话)。