Как закрыть сеанс tmux

64

Я использую tmux для управления несколькими терминальными окнами. В настоящее время у меня есть 2 открытых окна с несколькими панелями. Я знаю, что я должен использовать префикс (для меня это ctrl+ a) для ввода команд.

Как я могу закрыть сеанс изнутри tmux? Какая команда закроет сеанс (все окна и панели) и tmux одновременно?

ph3nx
источник
Чтобы отсоединиться от tmux (оставив процесс запущенным): unix.stackexchange.com/a/174443/178412
atomh33ls

Ответы:

86

Нажмите свой префикс (например, Ctrl+ Aили B, который является значением по умолчанию), а затем :и введите kill-session, затем нажмите Enter. Это, как следует из названия команды, уничтожит сеанс.

0xC0000022L
источник
33

Если вы хотите закрыть сеанс, отличный от текущего сеанса (и, следовательно, продолжить работу 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. Если вы делаете это изнутри сессии, вы хотите убить reattach, используя tmux a.
Matijs
19

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

или же

tmux kill-session (может запускаться как изнутри сеанса, так и снаружи)

Оба стиля вызова могут использовать флаги:

-t target-sessionуничтожает данный сеанс
-aуничтожает все сеансы, кроме данного или того, к которому вы привязаны

Запуск kill-sessionснаружи TMUX убивает последнюю сессию, к которой вы были присоединены. -aинвертирует это.

В случае, что у вас есть более чем один сеанс работает вы могли бы убить все сессии одновременно с: kill-server.

FSchndr
источник
Это похоже на текущий принятый ответ. Не могли бы вы подробнее рассказать, почему ваш ответ отличается?
Бурги,
1
Никто не указал, что вы можете закрыть все сеансы с помощью kill-serverкоманды. Мне также понравилось предоставлять немного больше глубины для флагов kill-session.
FSchndr
+1: этот ответ также единственный, который помогает -aуничтожить все остальные сессии.
АаронДаниэльсон,
Это лучший ответ. Я хотел бы, чтобы это было на вершине ответов ...
Blaszard