OK, ich bin neu darin. Ich habe installiert tmux
, um ein mehrtägiges Experiment durchzuführen. Nach dem Tippen tmux new -s name
bekam ich ein neues Fenster mit einem grünen Banner am unteren Rand. Ich kompiliere und starte Java-Programm. Jetzt weiß ich nicht, wie ich das Fenster verlassen soll (während ich es laufen lasse). Der Bash-Cursor (oder was auch immer) reagiert nicht, da das Java-Programm noch ausgeführt wird. Meine bisherige Lösung besteht darin, das Terminal-Programm vollständig zu beenden und erneut zu öffnen. Irgendwelche Ideen, wie man das tmux-Fenster verlässt, ohne das gesamte Terminal-Programm zu verlassen?
80
man tmux | less -p detach
Antworten:
Trennen Sie sich von der aktuell angehängten Sitzung
Session
Ctrl+ b doder Ctrl+b
:detach
Bildschirm
Ctrl+ a Ctrl+ doder Ctrl+a
:detach
quelle
tmux attach
, um die geöffnete Sitzung nach dem erneuten Herstellen der Verbindung erneut zu öffnen.ENTER ~ .
Das scheint schöner zu sein.Die bisherigen Antworten sind meines Erachtens unvollständig. Das
:detach
heißt, die Ansichtsfenster, in denen die tmux-Aktivität angezeigt wird, werden geschlossen. Tmux selbst läuft jedoch immer noch im Hintergrund, wie Sie sehen können, wenn Sie Folgendes ausführenps
:myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev
Selbst wenn Sie das Terminal verlassen und erneut starten, laufen alle tmux-Prozesse IMMER IM HINTERGRUND.
Um den tmux-Prozess selbst zu beenden, müssen Sie Folgendes tun:
tmux kill-session [-t session_name]
oder einfach:
kill -9 1799
quelle
tmux attach-session
.kill -9
ist absolut die falsche Methode, um dies zu tun. Dies sendet einSIGKILL
Signal, das es dem Prozess nicht ermöglicht, nach sich selbst aufzuräumen, was zu ernsthaften Problemen mit baumelnden Ressourcen führen kann.SIGKILL
sollte nur verwendet werden, wenn ein Prozess bereits höflich gebeten wurde, überSIGTERM
oder auf ähnliche Weise zu bereinigen und herunterzufahren, und sich aus irgendeinem Grund weigert, dies zu tun; Selbst dann sollte man das Senden immer noch vermeiden,SIGKILL
wenn sie können. Diese Antwort besagt (fälschlicherweise), dass dies eines der ersten Dinge sein sollte, die eine Person tun sollte, um einen Hintergrundprozess wie einen tmux-Server herunterzufahren.