Come eliminare una sessione tmux staccata?


25

Mi sono staccato da una sessione di tmux:

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

Esiste un modo in cui posso semplicemente eliminarlo ora che mi sono staccato?


Correlati: se sei ancora collegato a una sessione di tmux, puoi premere Cd (control + D) per staccarlo da esso ed eliminarlo in un colpo solo. (Supponendo che tu sia al prompt della shell.)
stalepretzel

Risposte:


41

Vuoi usare 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

Se si desidera eliminare tutte le sessioni staccate è possibile utilizzare il seguente codice:

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

Questa soluzione è più robusta di quella proposta da abieler perché grep -E -v '\(attached\)$'corrisponde solo alle sessioni staccate (la soluzione di abieler salta una sessione staccata chiamata in allegato ).


0

Se vuoi uccidere tutte le sessioni staccate

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

Con commenti / spiegazioni:

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
Puoi fornire una descrizione di ciò che stai effettivamente facendo qui? Inoltre, questo ucciderà tutte le sessioni associate, dovresti notare questo.
djsmiley2k - CoW

@ djsmiley2k Tutte le sessioni distaccate intendi ( -vflag).
Bart Louwers il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.