Jak zabić wszystkie sesje Tmux (lub przynajmniej wiele sesji) z CLI?

94

Jak zabić wszystkie sesje Tmux (lub przynajmniej wiele sesji) z interfejsu CLI (Ubuntu)?

Kiedy to ps aux | grep tmuxwidzę, widzę 3 procesy:

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

Jak mogę zabić je wszystkie naraz (lub przynajmniej niektóre z nich, selektywność)?

JohnDoea
źródło

Odpowiedzi:

169

Możesz użyć tmux kill-serverdo czystego i wdzięcznego zabicia wszystkich otwartych sesji Tmux (i serwera).

Jeśli jesteś w sesji tmux, którą chcesz zachować, użyj, tmux kill-session -aaby zamknąć wszystkie inne sesje.

Aby zamknąć określoną sesję, użyj, tmux list-sessionsaby zidentyfikować sesję, którą chcesz zabić, a następnie użyj, tmux kill-session -t targetSessionaby zabić tę konkretną sesję.

Możesz też rażąco zabić wszystkie procesy tmux za pomocą pkill -f tmux.

Mam nadzieję, że to pomoże.

dgonzalez
źródło
1
ps aux | grep tmuxpo tmux kill-servernadal pokazuje proces tmux ... To samo dotyczy pkill -f tmuxco w mojej odpowiedzi. Czy możesz to wyjaśnić? Dzięki,
JohnDoea,
1
@Benia, czy na pewno nie widzisz grep tmuxprocesu (który jest zawarty w wynikach ps twojego oryginalnego pytania)?
steeldriver
1
Jeśli wydasz ps aux | grep blablablawhichdoesntexist, zawsze pokaże przynajmniej jedną linię odpowiadającą grep blablablawhichdoesntexistpoleceniu.
dgonzalez
1
Brakuje -tflagi, ponieważ pokazuje błąd bez -tustawionej flagi do zabicia konkretnej sesji. Usage: kill-session [-a] [-t target-session]
1rq3fea324wre
1
Kiedyś było bardzo bolesnetmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
Foad
17

Spowoduje to wyświetlenie listy i zabicie wszystkich sesji:

tmux list-sessions | awk 'BEGIN{FS=":"}{print $1}' | xargs -n 1 tmux kill-session -t
Sebastian Dahlgren
źródło
13

Mogę zabić wszystkie te procesy za pomocą polecenia:

pkill -f tmux

Zabija wszystkie procesy (pełna lista) pasującej nazwy (tmux).


Uwaga dla nowo przybyłych: W ten sposób możesz zabić cały proces innych pasujących nazw.

JohnDoea
źródło