Bagaimana cara membunuh semua sesi tmux (atau setidaknya beberapa sesi) dari CLI?

94

Bagaimana cara membunuh semua sesi tmux (atau setidaknya beberapa sesi) dari CLI (Ubuntu)?

Ketika saya melakukannya ps aux | grep tmuxsaya melihat 3 proses:

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

Bagaimana saya bisa membunuh semua ini sekaligus (atau setidaknya beberapa dari mereka, selektivitas)?

JohnDoea
sumber

Jawaban:

170

Anda dapat menggunakannya tmux kill-serveruntuk mematikan semua sesi terbuka tmux (dan server) dengan bersih dan anggun .

Jika Anda berada di dalam sesi tmux yang ingin Anda pertahankan, gunakan tmux kill-session -auntuk menutup semua sesi lainnya.

Untuk menutup sesi tertentu, gunakan tmux list-sessionsuntuk mengidentifikasi sesi yang ingin Anda bunuh, dan kemudian gunakan tmux kill-session -t targetSessionuntuk membunuh sesi tertentu.

Anda juga dapat terlalu membunuh semua proses tmux dengan pkill -f tmux.

Semoga ini bisa membantu.

dgonzalez
sumber
1
ps aux | grep tmuxsetelah tmux kill-servermasih menunjukkan proses tmux ... Sama halnya dengan pkill -f tmuxjawaban saya. Bisakah Anda menjelaskan ini? Terima kasih,
JohnDoea
1
@Benia, apakah Anda yakin tidak hanya melihat grep tmuxprosesnya (yang termasuk dalam output ps dari pertanyaan awal Anda)?
steeldriver
2
Jika Anda mengeluarkannya ps aux | grep blablablawhichdoesntexistakan selalu menampilkan setidaknya satu baris, sesuai dengan grep blablablawhichdoesntexistperintah.
dgonzalez
1
Apakah Anda kehilangan -ttanda, karena ini menunjukkan kesalahan tanpa -ttanda yang ditetapkan untuk membunuh sesi tertentu. Usage: kill-session [-a] [-t target-session]
1rq3fea324wre
1
Dulu sangat menyakitkantmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
Mengisi
17

Ini akan mendaftar dan membunuh semua sesi:

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

Saya dapat membunuh semua proses ini dengan perintah:

pkill -f tmux

Itu membunuh semua proses (daftar lengkap) dari nama yang cocok (tmux).


Catatan untuk pendatang baru: Cara ini dapat membantu Anda untuk membunuh semua proses dari nama yang cocok lainnya.

JohnDoea
sumber