Як закрити сеанс tmux


64

Я використовую tmux для управління кількома вікнами терміналів. На даний момент у мене відкрито 2 вікна з декількома стеклами. Я знаю, що для введення команд я повинен використовувати префікс (для мене це ctrl+ a).

Як я можу закрити сеанс зсередини tmux? Яка команда одночасно закривала б сеанс (усі вікна та панелі) та tmux?


Щоб відірватися від tmux (залишаючи процес запущеним): unix.stackexchange.com/a/174443/178412
atomh33ls

Відповіді:


86

Натисніть свій префікс (наприклад, Ctrl+ Aабо B, який є типовим), а потім :і введіть kill-session, а потім натисніть Enter. Це, як випливає з назви команди, знищить сеанс.


32

Якщо ви хочете закрити сеанс, відмінний від поточного сеансу (і, отже, продовжувати працювати 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

Це видаляє "otherSession" або сеанс № 3 і залишає tmux запущеним, припускаючи, що при видаленні їх не було вибрано сеанс "otherSession" або номер 3.


1
Або якщо ви бажаєте використовувати свій префікс, ctrl + prefixпісля :чого введіть kill-session -t nameабо kill-session -t number. Якщо ви робите це протягом сеансу, ви хочете вбити повторне звернення за допомогою tmux a.
Матійс

19

Префікс TMUX (наприклад, ctrl+ b) +:kill-session

або

tmux kill-session (може працювати або зсередини сеансу, або ззовні)

Обидва стилі виклику можуть використовувати прапори:

-t target-sessionзнищує даний сеанс,
-aзнищує всі сеанси, але даний або той, до якого ви приєднані

Запуск kill-sessionззовні TMUX вбиває останній сеанс, до якого ви були приєднані. -aінвертує це.

У разі, що у вас є більш ніж один сеанс працює ви могли б убити все сесії одночасно з: kill-server.


Це схоже на поточну прийняту відповідь, чи можете ви детальніше зупинитися на тому, чому ваша відповідь відрізняється?
Бургі

1
Ніхто не вказував, що ви можете закрити всі сеанси kill-serverкомандою. Мені також подобалося надати трохи більше глибини прапорам для kill-session.
FSchndr

+1: Ця відповідь також є єдиною, яка корисно -aзнищити всі інші сеанси.
AaronDanielson

Це краща відповідь. Я б хотів, щоб це було на вершині відповідей ...
Blaszard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.