Terminal programından çıkmadan tmux penceresinden çık


80

Tamam, bunun için yeniyim. tmuxBirkaç gün deneme yapmak için kurdum . Yazdıktan sonra tmux new -s namealttaki yeşil bayraklı yeni bir pencere açtım. Java programını derleyip çalıştırıyorum. Şimdi pencereden nasıl çıkacağımı bilmiyorum (çalışır durumda iken). Java programı hala çalışıyor olduğundan bash (veya her neyse) imleci yanıt vermiyor. Şimdiye kadarki çözümüm Terminal programından tamamen çıkıp tekrar açmak. Terminal programından çıkmadan tmux penceresinden nasıl çıkılacağı hakkında bir fikriniz var mı?


2
man tmux | less -p detach
jasonwryan

Yanıtlar:


146

Şu anda bağlı oturumdan ayır

Oturum, toplantı, celse

Ctrl+ b dveya Ctrl+b :detach

Ekran

Ctrl+ a Ctrl+ dveya Ctrl+a :detach


Daha sonra tmux attachtekrar bağlandıktan sonra açık oturuma girmek için koşmanız gerekir .
Besi

1
Her zaman yaptım ENTER ~ .Bu daha hoş görünüyor.
Thomas Eding

8

Önceki cevaplar eksik, inanıyorum. Bu :detach, tmux aktivitesi gösteren vitrinleri kapatmak. Bununla birlikte, tmux'un çalıştığı gibi arka planda hala çalışıyor ps:

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

Aslında, terminalden çıkıp tekrar başlatsanız bile, tüm tmux işlemleri arka planda çalışan STILL.

Aslında tmux sürecini kendisi öldürmek için yapmanız gerekenler:

tmux kill-session [-t session_name]

ya da sadece:

kill -9 1799


5
Bunun için, bazı cevaplayıcıların bu özel cevap altındaki eksiklikleri hakkında yorum yapmak ve okuyuculardan hangi cevapların daha önce geldiğini bulmasını istemeksizin yazıyı eksiksiz ve içerdiği bir cevap olarak bırakmak daha mantıklı olacaktır.
Techraf

2
OP özellikle arka plan sürecinin (java, kendi durumunda) çalışmaya devam etmesini istedi, bu yüzden öldürmek karşı-üretken olacaktı. Daha ilginç olan, daha sonra ayrılan sürece yeniden bağlanmak olacaktır tmux attach-session.
Thomas

kill -9Bunu kullanmak kesinlikle Yanlış Yoldur (tm). Bu SIGKILL, sürecin kendisinden sonra temizlenmesine izin vermeyecek, sarkan kaynaklarda ciddi sorunlara neden olabilecek bir sinyal gönderir . SIGKILLsadece bir sürecin kibarca temizlenmesi veya kapatılması istendiğinde SIGTERMveya benzer şekilde kullanılması durumunda kullanılmalı ve ne olursa olsun, bunu yapmayı reddetmelidir; o zaman bile, SIGKILLeğer yapabilirse göndermekten kaçınmalıdır . Bu cevap (yanlış), bir kişinin tmux sunucusu gibi bir arka plan işlemini kapatmak için yapması gereken ilk şeylerden biri olması gerektiğini gösterir.
eestrada
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.