DEV Community

Play Button Pause Button
Waylon Walker
Waylon Walker

Posted on • Originally published at waylonwalker.com

🔪 killing tmux

Now it's time to switch gears, we are onto a different part of our day and there are just too many sessions running and we need to clean up shop.

kill-server

One viable option is to nuke the whole dang thing. I actually do this more than you might think.


 bash
tmux kill-server


Enter fullscreen mode Exit fullscreen mode

save and commit your work diligently before kill-server

kill-session

A more reasonable option might be to kill a single session.


 bash
# kills the current session
tmux kill-session

# kills the session named scratch
tmux kill-session -t scratch


Enter fullscreen mode Exit fullscreen mode

choose-tree

Killing sessions one by one from the command line can be a bit tedious, and involve more keystrokes than necessary. Another option built right into tmux is choose-tree. By default choose-tree is bound to prefix+s, that's pressing control+b then s. Once you are in choose-tree, you can navigate around with your configured navigation scheme, press x to kill a session, or pane or window then y to confirm. You can also batch delete by tagging items with t, and killing them all at once with X.



article cover for <br>
 tmux choose-tree<br>


tmux choose-tree




check out this post for a bit more information on choose-tree

fuzzy matcher

Here is my preferred way, using a fuzzy matcher. I recently improved this one by making it a popup and cleaning it up based on a repsonse,tmux-output-formatting by DJ Adams. I press prefix+k to bring up a kill-session menu.


 bash
bind k display-popup -E "\
    tmux list-sessions -F '#{?session_attached,,#{session_name}}' |\
    fzf --reverse -m --header=kill-session |\
    xargs -I {} tmux kill-session -t {}"


Enter fullscreen mode Exit fullscreen mode

note this is setup to multiple sessions all at once.

Be sure to check out the full YouTube playlist and subscribe if you like it.

tmux playlist on youtub

Top comments (0)