Come uccidere tutte le sessioni di tmux (o almeno sessioni multiple) dalla CLI?


94

Come uccidere tutte le sessioni di tmux (o almeno sessioni multiple) dalla CLI (Ubuntu)?

Quando lo faccio ps aux | grep tmuxvedo 3 processi:

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

Come potrei ucciderli tutti insieme (o almeno alcuni di essi, selettività)?

Risposte:


170

Puoi usare tmux kill-serverper uccidere in modo pulito e con grazia tutte le sessioni (e il server) di tmux open.

Se ci si trova all'interno di una sessione di tmux che si desidera mantenere, utilizzare tmux kill-session -aper chiudere tutte le altre sessioni.

Per chiudere una sessione specifica, utilizzare tmux list-sessionsper identificare la sessione che si desidera uccidere, quindi utilizzare tmux kill-session -t targetSessionper terminare quella sessione specifica.

Inoltre è possibile uccidere gravemente tutti i processi tmux con pkill -f tmux.

Spero che sia d'aiuto.


1
ps aux | grep tmuxdopo tmux kill-servermostra ancora un processo tmux ... Lo stesso vale per pkill -f tmuxcome nella mia risposta. Puoi spiegarlo? Grazie,
JohnDoea,

1
@Benia sei sicuro di non vedere solo il grep tmuxprocesso (che è incluso nell'output ps della tua domanda originale)?
steeldriver,

2
Se emetti ps aux | grep blablablawhichdoesntexistmostrerà sempre almeno una riga, corrispondente al grep blablablawhichdoesntexistcomando.
dgonzalez,

1
Ti manca un -tflag, perché mostra un errore senza -tflag impostato per l'uccisione di una determinata sessione. Usage: kill-session [-a] [-t target-session]
1rq3fea324wre

1
Una volta era molto dolorosotmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
Foad

17

Questo elencherebbe e ucciderebbe tutte le sessioni:

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

13

Posso uccidere tutti questi processi con il comando:

pkill -f tmux

Uccide tutti i processi (elenco completo) del nome corrispondente (tmux).


Nota per i nuovi arrivati: in questo modo potrebbe essere utile interrompere tutto il processo di altri nomi corrispondenti.

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.