जवाबों:
यह उत्तर कर्नल से सर्वरफ़ॉल्ट पर मिला :
हालाँकि, आपकी वास्तविक समस्या के लिए, एक और चीज़ है जिसे आप आज़मा सकते हैं: टर्मिनल से अपना काम शुरू करने के बाद, इसे टाइप करके बैकग्राउंड करें ctrl- zऔर फिर
bg
।
उसके बाद, यह की मूल खोल से काम को अलग - मेंbash
:disown -h %<jobid>
। उसके बाद, आप सुरक्षित रूप से टर्मिनल बंद कर सकते हैं और नौकरी चलती रहेगी।
और यह रोब वेल्स से एक ही सवाल से एक :
$ screen -S my_process
$ retty $(pgrep my_process)
/redraw
सर्वरफॉल्ट में डुप्लिकेट मिला ।
उस पोस्ट में नहीं मिला एक अन्य समाधान उपयोग कर रहा है Retty एक स्क्रीन सत्र शुरू करने के बाद।
अच्छी तरह से देखिए रेप्टियर डालें , जो वास्तव में ऐसा ही करता है। Github पेज पर सारी जानकारी है।
रेप्टियर - "री-पाइटिंग" के लिए एक उपकरण
कार्यक्रम।
reptyr एक मौजूदा चल रहे कार्यक्रम को लेने और इसे एक नए टर्मिनल में संलग्न करने के लिए एक उपयोगिता है। Ssh पर एक लंबी चलने वाली प्रक्रिया शुरू की, लेकिन इसे छोड़ना होगा और इसे बाधित नहीं करना चाहिए? बस एक स्क्रीन शुरू करें, इसे हथियाने के लिए reptyr का उपयोग करें, और फिर ssh सत्र और घर पर सिर को मारें।
उपयोग
reptyr पीआईडी
"reptyr PID" आईडी PID के साथ प्रक्रिया को पकड़ लेगा और इसे आपके वर्तमान टर्मिनल से जोड़ देगा।
संलग्न करने के बाद, प्रक्रिया इनपुट से नए टर्मिनल में आउटपुट लिख देगी, जिसमें ^ C और ^ Z शामिल हैं। (दुर्भाग्य से, यदि आप इसे पृष्ठभूमि में रखते हैं, तो आपको अभी भी पुराने टर्मिनल में "बीजी" या "एफजी" चलाना होगा। यह आपके शेल को पैच किए बिना उचित तरीके से ठीक करने की संभावना है।)