Jak zamknąć sesję Tmux

64

Korzystam z tmux do zarządzania wieloma oknami terminali. Obecnie mam 2 otwarte okna z wieloma oknami. Wiem, że muszę używać przedrostka (dla mnie to ctrl+ a), aby wpisywać polecenia.

Jak mogę zamknąć sesję z poziomu tmux? Jakie polecenie zamknie sesję (wszystkie okna i panele) i tmux w tym samym czasie?

ph3nx
źródło
Aby odłączyć od tmux (pozostawiając uruchomiony proces): unix.stackexchange.com/a/174443/178412
atomh33ls

Odpowiedzi:

86

Naciśnij swój prefiks (np. Ctrl+ ALub B, który jest domyślny), a następnie :i wpisz kill-session, a następnie naciśnij Enter. Spowoduje to, jak sugeruje nazwa polecenia, zabicie sesji.

0xC0000022L
źródło
32

Jeśli chcesz zamknąć sesję inną niż bieżąca (a tym samym kontynuować działanie tmux; zamknięcie bieżącej sesji jak w odpowiedzi @ 0xC0000022L, również zamknie tmux, nawet jeśli inne sesje są dostępne), wykonaj następujące czynności w jednym z okien 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

Spowoduje to usunięcie „otherSession” lub sesji numer 3 i pozostawia Tmux uruchomioną, zakładając, że nie wybrałeś „otherSession” lub sesji numer 3 podczas ich usuwania.

Ville
źródło
1
Lub jeśli wolisz używać prefiksu, ctrl + prefixa :następnie, a następnie wpisz kill-session -t namelub kill-session -t number. Jeśli zrobisz to w sesji, chcesz zabić, podłącz ponownie, używając tmux a.
Matijs
19

Prefiks TMUX (np. ctrl+ b) +:kill-session

lub

tmux kill-session (może działać albo od wewnątrz sesji, albo od zewnątrz)

Oba style wywołania mogą korzystać z flag:

-t target-sessionniszczy daną sesję
-aniszczy wszystkie sesje, ale dana lub ta, do której jesteś przywiązany

Uruchamianie kill-sessionz zewnątrz TMUX zabija ostatnią sesję, do której byłeś dołączony. -aodwraca to.

W przypadku, że masz więcej niż jedną sesję z systemem można zabić wszystkie sesje na raz: kill-server.

FSchndr
źródło
Jest to podobne do obecnie przyjętej odpowiedzi. Czy możesz bardziej szczegółowo wyjaśnić, dlaczego twoja odpowiedź jest inna?
Burgi,
1
Nikt nie zauważył, że można zamknąć wszystkie sesje za pomocą kill-serverpolecenia. Podobało mi się też nieco więcej głębi flag kill-session.
FSchndr
+1: ta odpowiedź jest również jedyną, która pomaga -azniszczyć wszystkie pozostałe sesje.
AaronDanielson
To lepsza odpowiedź. Chciałbym, żeby to były najważniejsze odpowiedzi ...
Blaszard