¿Cómo eliminar una sesión tmux separada?

25

Me separé de una sesión de tmux:

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

¿Hay alguna forma de eliminarlo ahora que estoy separado de él?

usuario784637
fuente
Relacionado: Si todavía está conectado a una sesión tmux, puede presionar Cd (control + D) para desconectarse y eliminarlo de una sola vez. (Asumiendo que usted está en su intérprete de comandos.)
stalepretzel

Respuestas:

41

Quieres usar 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]
Joe Casadonte
fuente
2

Si desea eliminar todas las sesiones separadas, puede usar el siguiente código:

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

Esta solución es más robusta que la propuesta por abieler porque grep -E -v '\(attached\)$'coincide solo con las sesiones separadas (la solución de abieler omitiría una sesión separada llamada adjunta ).

Mateusz Piotrowski
fuente
0

Si quieres matar todas las sesiones separadas

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

Con comentarios / explicación:

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
abieler
fuente
1
¿Puedes poner alguna descripción de lo que realmente estás haciendo aquí? Además, esto matará todas las sesiones adjuntas, debe tener en cuenta esto.
djsmiley2k - CoW
@ djsmiley2k Todas las sesiones separadas quieres decir ( -vmarcar).
Bart Louwers, el