टर्मिनल प्रोग्राम को छोड़ने के बिना बाहर निकलें tmux विंडो


80

ठीक है, मैं इसके लिए नया हूं। मैंने tmuxकई दिनों के प्रयोग को चलाने के लिए स्थापित किया। टाइप करने के बाद tmux new -s nameमुझे सबसे नीचे हरे रंग के बैनर के साथ एक नई खिड़की मिली। मैं जावा प्रोग्राम को संकलित और चलाता हूं। अब मुझे नहीं पता कि खिड़की से बाहर कैसे निकलें (जबकि इसे छोड़ दें)। बैश (या जो भी) कर्सर जवाब नहीं दे रहा है क्योंकि जावा प्रोग्राम अभी भी चल रहा है। मेरा अब तक का समाधान टर्मिनल प्रोग्राम को पूरी तरह से छोड़ देना और इसे फिर से खोलना है। पूरे टर्मिनल प्रोग्राम से बाहर निकलने के बिना tmux विंडो को छोड़ने के बारे में कोई विचार?


2
man tmux | less -p detach
जसोनव्रीयन

जवाबों:


145

वर्तमान में संलग्न सत्र से अलग करें

अधिवेशन

Ctrl+ b dया Ctrl+b :detach

स्क्रीन

Ctrl+ a Ctrl+ dया Ctrl+a :detach


आपको tmux attachफिर से जुड़ने के बाद फिर से खुले सत्र में प्रवेश करने के लिए दौड़ना होगा।
बेसि

1
मैंने हमेशा किया है ENTER ~ .यह अच्छा लगता है।
थॉमस ईडिंग

8

पिछले जवाब अधूरे हैं, मेरा मानना ​​है। :detachTmux गतिविधि प्रदर्शित करने वाले व्यूपोर्ट को बंद करना क्या है। हालाँकि, tmux अभी भी बैकग्राउंड में चल रहा है जैसा कि आप रन करके देख सकते हैं ps:

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

वास्तव में, भले ही आप टर्मिनल छोड़ दें और इसे फिर से शुरू करें, किसी भी tmux प्रक्रिया पृष्ठभूमि में चल रही है।

वास्तव में tmux प्रक्रिया को मारने के लिए, आपको करना होगा:

tmux kill-session [-t session_name]

या केवल:

kill -9 1799


5
Imho, यह उस विशेष उत्तर के तहत कुछ उत्तर की कमियों के बारे में टिप्पणी करने और अपनी पोस्ट को पूर्ण और निहित उत्तर के रूप में छोड़ने के लिए पाठकों की आवश्यकता के बिना यह पता लगाने की आवश्यकता होगी कि कौन से उत्तर पिछले हैं और फिर उनका विश्लेषण करें।
14

2
मुझे लगता है कि ओपी विशेष रूप से पृष्ठभूमि प्रक्रिया (जावा, उनके मामले में) को जारी रखना चाहता था, इसलिए इसे मारना काउंटर-उत्पादक होगा। अधिक दिलचस्प होगा बाद में अलग की गई प्रक्रिया के साथ फिर से संलग्न होना tmux attach-session
थॉमस एचएच

का उपयोग करना kill -9बिल्कुल गलत तरीका है (tm) ऐसा करने के लिए। यह एक SIGKILLसंकेत भेजता है जो प्रक्रिया को स्वयं के बाद साफ करने की अनुमति नहीं देगा, जिससे झूलने वाले संसाधनों के साथ गंभीर समस्याएं हो सकती हैं। SIGKILLकेवल तभी उपयोग किया जाना चाहिए जब एक प्रक्रिया पहले से ही विनम्रता से सफाई करने और इसके माध्यम से SIGTERMया इसी तरह बंद करने के लिए कहा गया हो और जो भी कारण से, ऐसा करने से इनकार करता है; फिर भी, किसी को अभी भी भेजने से बचना चाहिए SIGKILL। यह उत्तर गलत (गलत) है कि यह पहली चीजों में से एक होना चाहिए जो एक व्यक्ति को एक टक्स सर्वर की तरह पृष्ठभूमि प्रक्रिया को बंद करने के लिए करना चाहिए।
ईस्त्राद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.