quitter la fenêtre tmux sans quitter le programme Terminal

OK Je suis nouveau dans ce domaine. Jai installé tmux pour lexécuter une expérience de plusieurs jours. Après avoir tapé tmux new -s name jai une nouvelle fenêtre avec une bannière verte en bas. Je compile et lance le programme java. Maintenant, je ne sais pas comment quitter la fenêtre (alors le laisser en cours dexécution). Le curseur bash (ou autre) ne répond pas car le programme java est toujours en cours dexécution. Ma solution jusquà présent est de quitter complètement le programme Terminal et de le rouvrir. Toute idée sur la façon de quitter la fenêtre tmux sans quitter tout le programme Terminal?

Commentaires

  • man tmux | less -p detach
  • Pour plus dinteractivité façon, vous pouvez faire Ctrl+b s qui listera les sessions, accédez à celle que vous voulez tuer et tapez :kill-session.

Réponse

Détacher de la session actuellement jointe

Session

Ctrl + b d ou Ctrl + b :detach

Écran

Ctrl + a Ctrl + d ou Ctrl + a :detach

Commentaires

  • Vous devez ensuite exécuter tmux attach pour accéder à nouveau à la session ouverte après la reconnexion.
  • I ' ai toujours fait ENTER ~ . Cela semble plus joli.
  • Y a-t-il un espace entre ~ et . et il renvoie également permission denied: /home/folder @ThomasEding
  • @alper Aucun espace du tout dans lexpression I tapé ci-dessus.

Réponse

Les réponses précédentes sont incomplètes, je crois. Ce que fait :detach est de fermer les fenêtres qui affichent lactivité tmux. Cependant, tmux lui-même fonctionne toujours en arrière-plan comme vous pouvez le voir en exécutant ps:

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

En fait, même si vous quittez le terminal et le redémarrez, tous les processus tmux sont ENCORE exécutés en arrière-plan.

Pour tuer le processus tmux lui-même, vous devez faire:

tmux kill-session [-t session_name]

ou simplement:

kill -9 1799

Commentaires

  • A mon avis, il serait plus judicieux de commenter certaines lacunes de la réponse ' sous cette réponse particulière et laissez votre message comme une réponse complète et contenue sans que les lecteurs découvrent les réponses précédentes et les analysent ensuite.
  • Je pense quOP souhaitait spécifiquement que le processus darrière-plan (java, dans son cas) continue de fonctionner , alors le tuer serait contre-productif. Il serait plus intéressant de se rattacher ultérieurement au processus détaché avec tmux attach-session.
  • Utiliser kill -9 est absolument le Mauvaise façon ™ de faire cela. Cela envoie un signal SIGKILL qui ne permettra pas au processus de se nettoyer après lui-même, ce qui peut causer de sérieux problèmes avec les ressources en suspension. SIGKILL ne doit être utilisé que lorsquun processus a déjà été poliment invité à nettoyer et arrêter via SIGTERM ou similaire et, pour une raison quelconque, refuse de le faire; même dans ce cas, il faut quand même éviter denvoyer SIGKILL sils le peuvent. Cette réponse en déduit (à tort) que ce devrait être lune des premières choses quune personne devrait faire pour arrêter un processus darrière-plan comme un serveur tmux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *