SSH सत्र पुनर्स्थापित करें


13

मैंने SSH के माध्यम से अपने सर्वर से कनेक्ट किया है और एक प्रक्रिया बनाई है, लेकिन अचानक मेरा इंटरनेट कनेक्शन डिस्कनेक्ट हो गया। मुझे पता है कि प्रक्रिया चल रही है, लेकिन इसकी प्रगति देखने के लिए पिछले सत्र को कैसे बहाल किया जा सकता है?

जवाबों:


16

जैसा कि ऊपर सुझाव दिया गया है, भविष्य में आप ऐसी चीज़ को रोकने के लिए स्क्रीन का उपयोग कर सकते हैं। स्क्रीन का उपयोग करने के तरीके पर एक संक्षिप्त व्याख्या:

  1. screen -S compiling_stuff
  2. सामान यहाँ करो। जैसे ./configure
  3. यदि कनेक्शन किसी कारण से बंद हो जाता है तो आप सर्वर से जुड़ सकते हैं और जारी कर सकते हैं screen -r comp
  4. आप स्क्रीन सत्र को स्वयं दबाकर भी अलग कर सकते हैं CTRL+A+D

सौभाग्य


17

screen किसी टर्मिनल में एक कमांड शुरू करने के लिए सबसे अच्छा है जिसे तब रखा जाएगा जब आप इसे से डिस्कनेक्ट करते हैं (या तो उद्देश्य, ctrl + ad, या क्योंकि कनेक्शन मर जाता है, आदि)।

अब आप अपने वर्तमान टर्मिनल (यानी, फिर भी चल रहे हैं) के चल रहे प्रोसेस (उदा: आपके रनिंग सेशन का शेल) को फिर से अटैच कर सकते हैं (यानी, स्टडआउट, स्टडआउट, कीबोर्ड को फिर से अटैच कर सकते हैं, लेकिन नए टर्मिनल को उसके लिए कंट्रोलिंग टर्मिनल भी बना सकते हैं) प्रक्रिया) का उपयोग कर: reptyr

दोनों दुनिया के सर्वश्रेष्ठ के लिए: स्थापित करें screen, इसे प्रारंभ करें, और फिर reptyr^^ के साथ उस स्क्रीन सत्र में उस प्रक्रिया को फिर से संलग्न करें


ओलिवर, चल रही प्रक्रिया को फिर से संलग्न करना कैसे संभव है? क्या आप कृपया एक संकेत दे सकते हैं?
आर्चर

@ आर्चर: संकेत: लिंक का अनुसरण करें ^ ^ (मेरे दूसरे पैराग्राफ का अंत)
ओलिवियर दुलक

@archer: लेकिन स्क्रीन सरल है: एक बार स्क्रीन में रनगिन, ctrl + ad: स्क्रीन से अलग हो जाना (और घर जाना)। स्क्रीन पर फिर से संलग्न करने के लिए: "स्क्रीन -r" (या अधिक जटिल तरीका, अगर चीजें अटक जाती हैं)। कई स्क्रीन सत्रों में अंतर करने के लिए, उन्हें एक नाम दें।
ओलिवियर दुलक

7

आप नहीं कर सकते। भविष्य में, आप इस तरह का उपयोग करने से रोक सकते हैं, screenया tmuxजहां एक डिस्कनेक्ट के बाद एक सत्र को फिर से कनेक्ट करने की अनुमति देने के लिए बनाया गया है।


5

बस मैंने सोचा कि मैं http://mosh.mit.edu/ का उल्लेख करूंगा

रिमोट टर्मिनल एप्लिकेशन जो रोमिंग की अनुमति देता है, रुक-रुक कर कनेक्टिविटी का समर्थन करता है, और उपयोगकर्ता कीस्ट्रोक्स के बुद्धिमान स्थानीय गूंज और लाइन संपादन प्रदान करता है।

Mosh SSH के लिए एक प्रतिस्थापन है। यह अधिक मजबूत और उत्तरदायी है, विशेष रूप से वाई-फाई, सेलुलर और लंबी दूरी की लिंक पर।


सिर के लिए +1, मैंने पहले कभी उस उपकरण के बारे में नहीं सुना था!
ओलिवियर दुलाक

2

screenबाद में अपने सत्र के लिए फिर से कनेक्ट करने के लिए ssh के माध्यम से उपयोग करें ।

जहाँ तक मुझे पता है कि बंद ssh-session को फिर से जोड़ने का कोई तरीका नहीं है।


1

मैं Byobu की सिफारिश कर सकते हैं :

बायोबू टर्मिनल मल्टीप्लेक्सर्स GNU स्क्रीन या tmux के लिए एक वृद्धि है जिसका उपयोग स्क्रीन अधिसूचना या स्थिति के साथ-साथ टैब किए गए मल्टी विंडो प्रबंधन को प्रदान करने के लिए किया जा सकता है। यह दूरस्थ सर्वर से कनेक्ट होने पर टर्मिनल सत्रों के लिए एक बेहतर उपयोगकर्ता अनुभव प्रदान करने के उद्देश्य से है।


1

मैं tmux का उपयोग करने की सलाह दूंगा :

आप के माध्यम से tmux सत्र को पुनर्स्थापित कर सकते हैं tmux attach

tmux एक सॉफ्टवेयर एप्लिकेशन है जिसका उपयोग कई वर्चुअल कंसोल को मल्टीप्लेक्स करने के लिए किया जा सकता है, जिससे उपयोगकर्ता सिंगल टर्मिनल विंडो या रिमोट टर्मिनल सत्र में कई अलग-अलग टर्मिनल सत्रों का उपयोग कर सकता है। यह एक कमांड लाइन इंटरफेस से कई कार्यक्रमों से निपटने के लिए, और प्रोग्राम शुरू करने वाले यूनिक्स शेल से कार्यक्रमों को अलग करने के लिए उपयोगी है। [१] यह GNU स्क्रीन के समान ही कई कार्य प्रदान करता है, लेकिन BSD लाइसेंस के तहत वितरित किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.