Comment tuer toutes les sessions tmux (ou au moins plusieurs sessions) à partir de la CLI?


94

Comment tuer toutes les sessions tmux (ou au moins plusieurs sessions) à partir de la CLI (Ubuntu)?

Quand je vois, ps aux | grep tmuxje vois 3 processus:

UU      2970  0.0  0.0  19556  1228 pts/0    S+   02:48   0:00 tmux
UU      3445  0.0  0.0  12944   988 pts/5    S+   03:31   0:00 grep --color=auto tmux
UU     27557  0.0  0.2  29788  4840 ?        Ss   Jan04   0:02 tmux

Comment pourrais-je tuer tous ces éléments en même temps (ou au moins certains d'entre eux, la sélectivité)?

Réponses:


170

Vous pouvez utiliser tmux kill-serverpour tuer proprement et gracieusement toutes les sessions ouvertes tmux (et le serveur).

Si vous êtes dans une session tmux que vous souhaitez conserver, utilisez tmux kill-session -apour fermer toutes les autres sessions.

Pour fermer une session spécifique, utilisez tmux list-sessionspour identifier la session que vous souhaitez tuer, puis tmux kill-session -t targetSessionpour tuer cette session spécifique.

Vous pouvez aussi grossièrement tuer tous les processus tmux avec pkill -f tmux.

J'espère que ça aide.


1
ps aux | grep tmuxafter tmux kill-servermontre toujours un processus tmux ... Même chose pkill -f tmuxque dans ma réponse. Pouvez-vous expliquer cela? Merci,
JohnDoea

1
@Benia êtes-vous sûr de ne pas voir que le grep tmuxprocessus (qui est inclus dans la sortie ps de votre question initiale)?
Steeldriver

2
Si vous le lancez, ps aux | grep blablablawhichdoesntexistil affichera toujours au moins une ligne, correspondant à la grep blablablawhichdoesntexistcommande.
dgonzalez

1
Il vous manque un -tindicateur, car il indique une erreur sans -tqu'un indicateur ne soit défini pour tuer une session particulière. Usage: kill-session [-a] [-t target-session]
1rq3fea324wre

1
C'était très douloureuxtmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
Foad

17

Ceci listerait et tuerait toutes les sessions:

tmux list-sessions | awk 'BEGIN{FS=":"}{print $1}' | xargs -n 1 tmux kill-session -t

13

Je peux tuer tous ces processus avec la commande:

pkill -f tmux

Il tue tous les processus (liste complète) du nom correspondant (tmux).


Note pour les nouveaux arrivants: cette façon pourrait vous aider à tuer tous les processus des autres noms correspondants.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.