avsluta tmux-fönstret utan att avsluta terminalprogrammet

OK, jag är ny på detta. Jag installerade tmux för att köra ett flera dagars experiment. Efter att ha skrivit tmux new -s name fick jag ett nytt fönster med grön banner längst ner. Jag kompilerar och kör java-program. Nu vet jag inte hur jag ska stänga fönstret (medan lämna den igång). Bash-markören (eller vad som helst) svarar inte eftersom Java-programmet fortfarande körs. Min lösning hittills är att avsluta Terminal-programmet helt och öppna det igen. Några idéer för hur man avslutar tmux-fönstret utan att avsluta hela Terminal-programmet?

Kommentarer

  • man tmux | less -p detach
  • För mer interaktiv sätt kan du göra Ctrl+b s som kommer att lista sessioner, navigera till den du vill döda och skriva :kill-session.

Svar

Ta bort från den aktuella bifogade sessionen

Session

Ctrl + b d eller Ctrl + b :detach

Skärm

Ctrl + a Ctrl + d eller Ctrl + a :detach

Kommentarer

  • Du måste sedan köra tmux attach för att komma in i den öppna sessionen igen efter återanslutning.
  • I ' har alltid gjort ENTER ~ . Detta verkar trevligare.
  • Finns det utrymme mellan ~ och . och det returnerar också permission denied: /home/folder @ThomasEding
  • @alper Inga mellanslag alls i uttrycket I skrivit ovan.

Svar

De tidigare svaren är ofullständiga tror jag. Vad :detach gör är att stänga av visningsportarna som visar tmux-aktivitet. Men tmux i sig fortfarande körs i bakgrunden som du kan se genom att köra ps:

myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev

I själva verket, även om du avslutar terminalen och startar den igen, körs fortfarande alla tmux-processer i bakgrunden.

För att verkligen döda tmux-processen, måste du göra:

tmux kill-session [-t session_name]

eller helt enkelt:

kill -9 1799

Kommentarer

  • Imho, det vore vettigare att kommentera några svar ' brister under det specifika svaret och lämna ditt inlägg som ett fullständigt och innehållsmässigt svar utan att läsarna måste ta reda på vilka svar som är tidigare och sedan analysera dem.
  • Jag tror att OP specifikt ville att bakgrundsprocessen (java, i hans fall) skulle fortsätta , så att döda det skulle vara kontraproduktivt. Mer intressant skulle vara att ansluta senare till den fristående processen med tmux attach-session.
  • Att använda kill -9 är absolut Fel väg ™ för att göra detta. Detta skickar en SIGKILL -signal som inte tillåter att processen rensas efter sig, vilket kan orsaka allvarliga problem med dinglande resurser. SIGKILL bör endast användas när en process redan artigt har uppmanats att rensa och stänga av via SIGTERM eller liknande och av vilken anledning som helst vägrar att göra det; även då bör man ändå undvika att skicka SIGKILL om de kan. Detta svar visar (felaktigt) att det borde vara en av de första sakerna en person ska göra för att stänga av en bakgrundsprocess som en tmux-server.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *