OK I'm new to this. I installed tmux
to run a several days experiment. After typing tmux new -s name
I got a new window with green banner at the bottom. I compile and run java program. Now I do not know how to exit the window (while leave it running). The bash (or whatever) cursor is not responding because the java program is still running. My solution so far is to quit the Terminal program completely and reopen it again. Any ideas on how to quit the tmux window without exiting the whole Terminal program?
2 Answers
Detach from currently attached session
Session
Ctrl+ b d or Ctrl+ b :detach
Screen
Ctrl+ a Ctrl+ d or Ctrl+ a :detach
The previous answers are incomplete, I believe. What :detach
does is to shut down the viewports that are displaying tmux activity. However, tmux itself is still running in the background as you can see by running ps
:
myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev
In fact, even if you quit terminal and start it up again, any tmux processes are STILL running in the background.
To actually kill the tmux process itself, you have to do:
tmux kill-session [-t session_name]
or simply:
kill -9 1799
-
7Imho, it would make more sense to comment about some answer's deficiencies under that particular answer and leave your post as a complete and contained answer without requiring readers to find out which answers are previous and then analyse them.– techrafMar 2, 2016 at 14:59
-
5I think OP specifically wanted the background process (java, in his case) to continue running, so killing it would be counter-productive. More interesting would be to re-attach later to the detached process with
tmux attach-session
.– ThomasHMar 27, 2018 at 15:46 -
4Using
kill -9
is absolutely the Wrong Way(tm) to do this. This sends aSIGKILL
signal which will not allow the process to clean up after itself, which can cause serious problems with dangling resources.SIGKILL
should only be used when a process has already politely been asked to cleanup and shut down viaSIGTERM
or similar and, for whatever reason, refuses to do so; even then, one should still avoid sendingSIGKILL
if they can. This answer infers (incorrectly) that it should be one of the first things a person should do to shutdown a background process like a tmux server.– eestradaAug 12, 2019 at 23:47
man tmux | less -p detach
Ctrl+b s
which will list sessions, navigate to the one you want to kill and type:kill-session
.exit
and it worked on my Mac terminal.