OK, jeg er ny på dette. Jeg installerede tmux
for at køre et eksperiment i flere dage. Efter at have skrevet tmux new -s name
fik jeg et nyt vindue med grønt banner i bunden. Jeg kompilerer og kører java-program. Nu ved jeg ikke, hvordan jeg skal forlade vinduet (mens lad det køre). Bash-markøren (eller hvad som helst) reagerer ikke, fordi java-programmet stadig kører. Min løsning indtil videre er at afslutte Terminal-programmet fuldstændigt og genåbne det igen. Eventuelle ideer til, hvordan man lukker tmux-vinduet uden at afslutte hele Terminal-programmet?
Kommentarer
Svar
Fjern fra aktuelt vedhæftet session
Session
Ctrl + b d eller Ctrl + b :detach
Skærm
Ctrl + a Ctrl + d eller Ctrl + a :detach
Kommentarer
- Du skal derefter køre
tmux attach
for at komme ind i den åbne session igen efter tilslutning igen. - I ' har altid gjort
ENTER ~ .
Dette virker pænere. - Er der mellemrum mellem
~
og.
og det returnerer ogsåpermission denied: /home/folder
@ThomasEding - @alper Overhovedet ingen mellemrum i udtrykket I skrevet ovenfor.
Svar
De tidligere svar er, tror jeg. Hvad :detach
gør, er at lukke visningsportene, der viser tmux-aktivitet. Imidlertid kører tmux selv stadig i baggrunden, som du kan se ved at køre ps
:
myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev
Faktisk kører stadig tmux-processer i baggrunden, selvom du afslutter terminalen og starter den igen.
For faktisk at dræbe selve tmux-processen skal du gøre:
tmux kill-session [-t session_name]
eller simpelthen:
kill -9 1799
Kommentarer
- Imho, det ville være mere fornuftigt at kommentere noget svar ' mangler under det specifikke svar og lad dit indlæg være et komplet og indeholdt svar uden at kræve, at læserne finder ud af, hvilke svar der er tidligere, og derefter analyserer dem.
- Jeg tror, OP specifikt ønskede, at baggrundsprocessen (java, i hans tilfælde) fortsatte , så at dræbe det ville være kontraproduktivt. Mere interessant ville være at vedhæfte senere til den frigjorte proces med
tmux attach-session
. - Brug af
kill -9
er absolut det Forkert måde ™ til at gøre dette. Dette sender etSIGKILL
signal, som ikke tillader processen at rydde op efter sig selv, hvilket kan forårsage alvorlige problemer med dinglende ressourcer.SIGKILL
bør kun bruges, når en proces allerede er høfligt bedt om at rydde op og lukke ned viaSIGTERM
eller lignende og uanset årsag nægter at gøre det selv da skal man stadig undgå at sendeSIGKILL
hvis de kan. Dette svar udleder (forkert), at det skal være en af de første ting, en person skal gøre for at lukke en baggrundsproces som en tmux-server.
man tmux | less -p detach
Ctrl+b s
, som viser en liste over sessioner, navigere til den, du vil dræbe, og skrive:kill-session
.