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
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 enSIGKILL
-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 viaSIGTERM
eller liknande och av vilken anledning som helst vägrar att göra det; även då bör man ändå undvika att skickaSIGKILL
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.
man tmux | less -p detach
Ctrl+b s
som kommer att lista sessioner, navigera till den du vill döda och skriva:kill-session
.