SSH बंद करते समय SSH पृष्ठभूमि कार्य / कार्य जारी रखें


27

मेरा यहाँ भी यही सवाल है लेकिन उससे भी आगे।

यदि मैं SSH कनेक्शन को लॉगआउट / एग्जिट करता हूं, तो मुझे पृष्ठभूमि में चलने वाले मेरे प्रोग्राम की आवश्यकता है। बाहर निकलने से पहले, मैं टाइप करता हूं bgऔर jobsबैकग्राउंड रनिंग टास्क की जांच करता हूं , लेकिन एसएसएच से बाहर निकलने के बाद, प्रोग्राम नहीं चलता है, यह तब बंद हो जाता है जब मैं एसएसएच विंडो को बंद कर देता हूं।

अगर मैं SSH विंडो बंद करने के बाद भी अपना प्रोग्राम चालू रखना चाहता हूं तो मैं क्या कर सकता हूं? मैं उपयोग nohup screenकरता हूँ, लेकिन यह भी काम नहीं करता है, या मैं कुछ याद कर रहा हूँ?


सुपर उपयोगकर्ता में आपका स्वागत है! कृपया अपना उत्तर प्रश्न में न डालें। अपने प्रश्न बटन का उपयोग करके एक बार उत्तर के रूप में नीचे (लगभग 7 घंटे में) पोस्ट कर सकते हैं । धन्यवाद। (यह भी ध्यान दें कि <br/>आपके पोस्ट में s जोड़ने की कोई आवश्यकता नहीं है । बस आवश्यकतानुसार पैराग्राफ बनाएं और जब आप इस पर हों, तो कृपया उचित कैपिटलाइज़ेशन करें। इससे आपकी पोस्ट आसानी से पढ़ी जा सकती हैं।)
slhck

BTW कोई उपयोग करने की आवश्यकता bgया nohupका उपयोग करते समय screen। साथ ही यह सवाल भी संबंधित है।
बीबर

आप इस धागे की जांच करें @ स्टैक ओवरफ़्लो stackoverflow.com/questions/285015/…
Ashildr

जवाबों:


46

जब आप उपयोग करते हैं screenतो आपको बाहर निकलने से पहले + के साथ अलग करने की आवश्यकता होती है ।CTRL+ADssh

वैकल्पिक रूप से, यदि आप एक प्रक्रिया को सीधे स्क्रीन के साथ चलाना चाहते हैं तो आप उपयोग कर सकते हैं

screen -dmSL [session name] [commands]
  • -d एक स्क्रीन सेशन शुरू करता है और तुरंत उससे अलग हो जाता है
  • -m एक नया स्क्रीन सत्र बनाने के लिए बाध्य करता है
  • -S आपको सत्र को एक नाम देता है
  • -L लॉगिंग चालू करता है ~/screenlog.0

उदाहरण:

screen -dmSL workstuff myscript.sh

आप या तो कर सकते हैं:

बाद में फिर से शुरू screen -x workstuff

या

लॉग फ़ाइल की जाँच करें less -r ~/screenlog.0


14

का उपयोग करें tmux। मुझे यकीन नहीं है कि अगर screenअभी भी सक्रिय विकास के तहत है। यह एक प्राथमिकता की बात है, लेकिन जैसा कि कोई उपयोग करता है tmux, मैं गवाही दे सकता हूं कि यह लगभग 5 मिनट में सेट हो गया, और पूरी तरह से काम किया।

डेबियन आधारित प्रणाली पर (दूरस्थ मशीन पर):

sudo apt-get install tmux

तो प्रवेश tmux, रन जो कुछ पर कार्रवाई की जरूरत है, और हिट दर्ज करने के लिए Ctrl+ Bतो D(इस पत्ते tmux सत्र)। फिर, आप SSH से लॉग आउट कर सकते हैं।

जब आपको वापस आने / फिर से जांच करने की आवश्यकता होती है, तो SSH शुरू करें, और दर्ज करें tmux attach। यह आपको आपके tmuxसत्र में वापस ले जाएगा ।

tmuxकई और क्षमताएं हैं, जैसा कि यहां विस्तृत है। लेकिन, इससे आपकी तात्कालिक समस्या का समाधान होना चाहिए।

सौभाग्य!


7

अंत में, मैंने इसका उपयोग करके हल किया screen:

स्क्रीन मोड में, इसका उपयोग करके अलग करें CtrlAD। फिर आप SSH विंडो को बंद कर सकते हैं।


5

nohup का उपयोग: नीचे दिए गए आदेशों में से पहला प्रोग्राम abcd को पृष्ठभूमि में इस तरह से शुरू करता है कि बाद का लॉगआउट इसे बंद नहीं करता है।

$ nohup abcd &

$ बाहर निकलें

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