verlaat het tmux-venster zonder het Terminal-programma af te sluiten

OK Ik ben nieuw. Ik heb tmux geïnstalleerd om te draaien een experiment van meerdere dagen. Na het typen van tmux new -s name kreeg ik een nieuw venster met een groene banner onderaan. Ik compileer en voer het Java-programma uit. Nu weet ik niet hoe ik het venster moet verlaten (terwijl laat het draaien). De bash (of wat dan ook) cursor reageert niet omdat het Java-programma nog steeds actief is. Mijn oplossing tot dusver is om het Terminal-programma volledig af te sluiten en het opnieuw te openen. Enige ideeën over hoe het tmux-venster te sluiten zonder af te sluiten het hele Terminal-programma?

Reacties

  • man tmux | less -p detach
  • Voor meer interactieve manier, je kunt Ctrl+b s doen om sessies weer te geven, navigeren naar degene die je wilt doden en :kill-session typen.

Antwoord

Loskoppelen van momenteel gekoppelde sessie

Sessie

Ctrl + b d of Ctrl + b :detach

Scherm

Ctrl + a Ctrl + d of Ctrl + a :detach

Reacties

  • Je moet dan tmux attach uitvoeren om de open sessie weer binnen te gaan nadat je opnieuw verbinding hebt gemaakt.
  • I ' altijd gedaan ENTER ~ . Dit lijkt leuker.
  • Is er ruimte tussen ~ en . en het retourneert ook permission denied: /home/folder @ThomasEding
  • @alper Helemaal geen spaties in de uitdrukking I hierboven getypt.

Antwoord

De vorige antwoorden zijn onvolledig, denk ik. Wat :detach doet, is het afsluiten van de viewports die tmux-activiteit weergeven. Echter, tmux zelf draait nog steeds op de achtergrond, zoals je kunt zien door ps:

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

In feite, zelfs als je terminal afsluit en het opnieuw opstart, draaien alle tmux-processen NOG STEEDS op de achtergrond.

Om het tmux-proces zelf daadwerkelijk te beëindigen, moet je doen:

tmux kill-session [-t session_name]

of simpelweg:

kill -9 1799

Reacties

  • Imho, het zou logischer zijn om commentaar te geven op een of ander antwoord ' s tekortkomingen onder dat specifieke antwoord en laat je bericht achter als een compleet en ingesloten antwoord zonder dat de lezers moeten uitzoeken welke antwoorden eerder zijn en ze vervolgens analyseren.
  • Ik denk dat OP specifiek wilde dat het achtergrondproces (in zijn geval java) bleef draaien , dus het doden ervan zou contraproductief zijn. Interessanter zou zijn om later opnieuw aan het ontkoppelde proces te koppelen met tmux attach-session.
  • Het gebruik van kill -9 is absoluut de Verkeerde manier ™ om dit te doen. Dit stuurt een SIGKILL -signaal waardoor het proces zichzelf niet kan opschonen, wat ernstige problemen kan veroorzaken met hangende bronnen. SIGKILL mag alleen worden gebruikt als een proces al beleefd is gevraagd om op te schonen en af te sluiten via SIGTERM of iets dergelijks en, om welke reden dan ook, weigert dit te doen; zelfs dan moet men nog steeds vermijden om SIGKILL te verzenden als ze kunnen. Dit antwoord leidt (onjuist) af dat het een van de eerste dingen zou moeten zijn die een persoon zou moeten doen om een achtergrondproces zoals een tmux-server af te sluiten.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *