Odłączyłem się od sesji tmux:
$ tmux ls
0: 1 windows (created Thu Aug 22 22:52:17 2013) [218x59]
Czy jest coś, co mogę po prostu usunąć teraz, kiedy jestem od niego odłączony?
Odłączyłem się od sesji tmux:
$ tmux ls
0: 1 windows (created Thu Aug 22 22:52:17 2013) [218x59]
Czy jest coś, co mogę po prostu usunąć teraz, kiedy jestem od niego odłączony?
Odpowiedzi:
Chcesz użyć 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]
Jeśli chcesz usunąć wszystkie odłączone sesje, możesz użyć następującego kodu:
tmux list-sessions | grep -E -v '\(attached\)$' | while IFS='\n' read line; do
tmux kill-session -t "${line%%:*}"
done
To rozwiązanie jest bardziej niezawodne niż to zaproponowane przez abieler, ponieważ grep -E -v '\(attached\)$'
pasuje tylko do odłączonych sesji (rozwiązanie abieler pomija odłączoną sesję zwaną załączoną ).
Jeśli chcesz zabić wszystkie odłączone sesje
tmux list-sessions | grep -v attached | cut -d: -f1 | xargs -t -n1 tmux kill-session -t
Z komentarzami / objaśnieniami:
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
-v
flaga).