afslut tmux-vinduet uden at afslutte Terminal-programmet

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

  • man tmux | less -p detach
  • For mere interaktiv måde, du kan gøre Ctrl+b s, som viser en liste over sessioner, navigere til den, du vil dræbe, og skrive :kill-session.

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 et SIGKILL 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 via SIGTERM eller lignende og uanset årsag nægter at gøre det selv da skal man stadig undgå at sende SIGKILL 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *