आप disown
अंतर्निहित शेल के साथ शेल से प्रोग्राम के "स्वामित्व" को रद्द कर सकते हैं :
# press Ctrl+Z to suspend the program
bg
disown
हालाँकि यह केवल शेल SIGHUP
को प्रोग्राम से सिग्नल नहीं भेजने के लिए कहता है जब शेल बाहर निकलता है। कार्यक्रम टर्मिनल के साथ किसी भी कनेक्शन को बनाए रखेगा, आमतौर पर मानक इनपुट, आउटपुट और त्रुटि धाराओं के रूप में। उन लोगों को दूसरे टर्मिनल पर फिर से भेजने का कोई तरीका नहीं है। ( स्क्रीन प्रत्येक विंडो के लिए एक टर्मिनल का अनुकरण करके काम करती है, इसलिए प्रोग्राम स्क्रीन विंडो से जुड़े होते हैं।)
डिबगर में प्रोग्राम को अटैच करके एक अलग फाइल पर फाइलस्क्रिप्टर्स को फिर से रिबेट करना संभव है (जैसे कि उपयोग करना ptrace
) और इसे कॉल करना open
, dup
और close
। ऐसा करने वाले कुछ उपकरण हैं; यह एक कठिन प्रक्रिया है, और कभी-कभी वे इसके बजाय प्रक्रिया को क्रैश कर देंगे। संभावनाओं में शामिल हैं (उत्तर से एकत्र किए गए लिंक मैं कैसे एक चलने वाली प्रक्रिया को भंग कर सकता हूं और इसे एक नए स्क्रीन शेल में जोड़ सकता हूं ? और क्या मैं nohup / स्क्रीन को पहले से शुरू की गई प्रक्रिया? ):