esce dalla finestra di tmux senza uscire dal programma Terminale


80

OK, sono nuovo a questo. Ho installato tmuxper eseguire un esperimento di diversi giorni. Dopo aver digitato tmux new -s nameho ottenuto una nuova finestra con un banner verde in basso. Compilo ed eseguo il programma Java. Ora non so come uscire dalla finestra (mentre la lasci in esecuzione). Il cursore bash (o qualunque altra cosa) non risponde perché il programma java è ancora in esecuzione. La mia soluzione finora è quella di chiudere completamente il programma Terminale e riaprirlo di nuovo. Qualche idea su come uscire dalla finestra di tmux senza uscire dall'intero programma Terminal?


2
man tmux | less -p detach
Jasonwryan,

Risposte:


147

Stacca dalla sessione attualmente collegata

Sessione

Ctrl+ b do Ctrl+b :detach

Schermo

Ctrl+ a Ctrl+ do Ctrl+a :detach


È quindi necessario eseguire tmux attachper accedere nuovamente alla sessione aperta dopo la riconnessione.
Besi,

1
L'ho sempre fatto ENTER ~ .Sembra più bello.
Thomas Eding,

8

Le risposte precedenti sono incomplete, credo. Quello che :detachfa è chiudere le finestre che mostrano l'attività di tmux. Tuttavia, tmux stesso è ancora in esecuzione in background, come puoi vedere eseguendo ps:

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

In effetti, anche se si esce dal terminale e lo si riavvia, tutti i processi tmux sono ANCORA in esecuzione in background.

Per uccidere effettivamente il processo tmux stesso, devi fare:

tmux kill-session [-t session_name]

o semplicemente:

kill -9 1799


5
Imho, sarebbe più sensato commentare le carenze di alcune risposte sotto quella particolare risposta e lasciare il tuo post come una risposta completa e contenuta senza richiedere ai lettori di scoprire quali risposte sono precedenti e quindi analizzarle.
techraf

2
Penso che OP abbia voluto che il processo in background (java, nel suo caso) continuasse, quindi ucciderlo sarebbe controproducente. Più interessante sarebbe ricollegarsi in seguito al processo distaccato con tmux attach-session.
ThomasH,

Utilizzare kill -9è assolutamente il modo sbagliato (tm) per fare questo. Questo invia un SIGKILLsegnale che non consentirà al processo di ripulire dopo se stesso, che può causare seri problemi con le risorse penzolanti. SIGKILLdovrebbe essere utilizzato solo quando un processo è già stato cortesemente chiesto di ripulire e chiudere tramite SIGTERMo simili e, per qualsiasi motivo, si rifiuta di farlo; anche allora, si dovrebbe comunque evitare di inviare SIGKILLse possono. Questa risposta deduce (erroneamente) che dovrebbe essere una delle prime cose che una persona dovrebbe fare per arrestare un processo in background come un server tmux.
est
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.