Как удалить отдельную сессию tmux?


25

Я оторвался от сессии tmux:

$ tmux ls
0: 1 windows (created Thu Aug 22 22:52:17 2013) [218x59]

Есть ли в любом случае, я могу просто удалить его сейчас, когда я оторван от него?


Связанный: Если вы все еще подключены к сеансу tmux, вы можете нажать Cd (control + D), чтобы отсоединиться от него и удалить его одним махом. (Предполагая, что вы находитесь в командной строке.)
stalepretzel

Ответы:


41

Вы хотите использовать tmux kill-session:

<~> $ tmux ls
0: 1 windows (created Sat Aug 17 00:03:56 2013) [80x23]
2: 1 windows (created Sat Aug 24 16:47:58 2013) [120x34]

<~> $ tmux kill-session -t 2

<~> $ tmux ls
0: 1 windows (created Sat Aug 17 00:03:56 2013) [80x23]

2

Если вы хотите удалить все отключенные сеансы, вы можете использовать следующий код:

tmux list-sessions | grep -E -v '\(attached\)$' | while IFS='\n' read line; do
    tmux kill-session -t "${line%%:*}"
done

Это решение является более надежным, чем предложенное abieler, поскольку grep -E -v '\(attached\)$'соответствует только отключенным сеансам (решение abieler пропустит отдельный сеанс, называемый присоединенным ).


0

Если вы хотите убить все отдельные сеансы

tmux list-sessions | grep -v attached | cut -d: -f1 |  xargs -t -n1 tmux kill-session -t

С комментариями / объяснениями:

tmux list-sessions   | # list all tmux sessions
  grep -v attached   | # grep for all lines that do NOT contain the pattern "attached"
  cut -d: -f1        | # cut with the separator ":" and select field 1 (the session name)
  xargs -t -n1       ` # -t echoes the command, -n1 limits xargs to 1 argument ` \
  tmux kill-session -t # kill session with target -t passed from xargs

1
Можете ли вы дать описание того, что вы на самом деле делаете здесь? Кроме того, это убьет все присоединенные сеансы, вы должны это отметить.
djsmiley2k - CoW

@ djsmiley2k Все отдельные сеансы, которые вы имеете в виду (пометить -v).
Барт Louwers
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.