如何从CLI杀死所有tmux会话(或至少多个会话)?


94

如何从(Ubuntu)CLI杀死所有tmux会话(或至少多个会话)?

当我ps aux | grep tmux看到3个过程时:

UU      2970  0.0  0.0  19556  1228 pts/0    S+   02:48   0:00 tmux
UU      3445  0.0  0.0  12944   988 pts/5    S+   03:31   0:00 grep --color=auto tmux
UU     27557  0.0  0.2  29788  4840 ?        Ss   Jan04   0:02 tmux

我如何一次杀死所有这些(或至少其中一些是选择性)?

Answers:


169

您可以tmux kill-server用来干净利落地杀死所有tmux打开的会话(和服务器)。

如果您要保留在tmux会话中,请使用tmux kill-session -a来关闭所有其他会话。

要关闭特定会话,请使用tmux list-sessions标识要终止的会话,然后使用tmux kill-session -t targetSession终止该特定会话。

您也可以使用彻底杀死所有tmux进程pkill -f tmux

希望能帮助到你。


1
ps aux | grep tmux之后tmux kill-server仍然显示一个tmux过程...与pkill -f tmux我的回答相同。你能解释一下吗?谢谢,
JohnDoea

1
@Benia您确定不只是看到该grep tmux过程(原始问题的ps输出中包括该过程)吗?
steeldriver'1

1
如果发出ps aux | grep blablablawhichdoesntexist,它将始终显示至少一行与grep blablablawhichdoesntexist命令相对应的行。
dgonzalez

1
您是否缺少-t标志,因为它未-t设置用于终止特定会话的标志而显示错误。Usage: kill-session [-a] [-t target-session]
1rq3fea324wre

1
过去非常痛苦tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
Foad


13

我可以使用以下命令杀死所有这些进程:

pkill -f tmux

它杀死匹配名称(tmux)的所有进程(完整列表)。


给新手的提示:这种方法可以帮助您杀死其他匹配名称的所有过程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.