मैं एक अस्वीकृत प्रक्रिया को कैसे पुनः प्राप्त करूं?


12

पिछले कई सवालों के समान, मैंने अपने आप को एक नौकरी चलाते हुए पाया कि मेरी इच्छा है कि मैं स्क्रीन में चलाऊं। मुझे प्रक्रिया को बाधित करने के लिए मजबूर किया गया क्योंकि मुझे डिस्कनेक्ट करने की आवश्यकता थी। अब जबकि मैं फिर से जुड़ गया हूं, मैं देखता हूं कि प्रक्रिया अभी भी चल रही है। मैं प्रक्रिया को "पुनः प्राप्त" कैसे कर सकता हूं, ताकि मैं इसका आउटपुट देख सकूं और इसे इनपुट दे सकूं?

यह सवाल केवल एक रनिंग प्रोसेस को स्क्रीन पर ले जाने से अलग है, जिसमें इसमें खोई हुई स्टडिन / आउट / इरेट हैंडल को फिर से खोलना शामिल है।


जवाबों:


6

यह एक डुप्लिकेट प्रश्न है - स्क्रीन पर एक पहले से चल रही प्रक्रिया को आगे बढ़ाते हुए देखें , जो कि रिट्टी को इंगित करता है , जो कि एक आत्म-वर्णित भयानक हैक है जिसे मैं हमेशा अनुमान लगाता हूं कि यह संभव हो सकता है लेकिन वास्तव में कभी कोशिश नहीं की गई: यह fd 0 पाता है, 1 , और 2 (मानक में, बाहर और त्रुटि, क्रमशः) प्रक्रिया के लिए और उन्हें संलग्न करता है, जैसे एक भयानक अपघटित परजीवी जो नहीं होना चाहिए।


मुझे इस कार्यक्रम के बारे में पता नहीं था - हालाँकि सच कहा जाए, तो इसका उपयोग करने का अच्छा अभ्यास नहीं है! अच्छा जवाब, परवाह किए बिना।
एंड्रयू एम।

6

प्रक्रिया को रद्द करके, आप प्रभावी रूप से कह रहे हैं कि आप चाहते हैं कि यह टर्मिनल द्वारा जारी किए गए S नाइटअप को अनदेखा कर दे। एक बार जब आप अपना सत्र बंद कर देते हैं (कहते हैं, मारते हैं), तो यह प्रक्रिया फिर init के स्वामित्व में हो जाएगी। इसलिए जब आप कहते हैं कि आप स्वामित्व छोड़ने के बाद किसी प्रक्रिया को फिर से शुरू करना चाहते हैं, तो आप कह रहे हैं कि आप स्वामित्व को एक अन्य प्रक्रिया से दूर रखना चाहते हैं - जो लागू नहीं है, और अच्छे कारण के लिए। यह सिर्फ लिनक्स में इनायत करने के लिए संभव नहीं है।


1
प्रक्रियाएँ अन्य प्रक्रियाओं के समान नहीं हैं। एक प्रसिद्ध प्रक्रिया अभी भी आप के रूप में चल रही है।
Mattdm

माता-पिता का सत्र बंद होने के बाद वे करते हैं - जैसा कि उनके प्रश्न से संकेत मिलता है। मैंने इसे दर्शाने के लिए अपना उत्तर अपडेट किया।
एंड्रयू एम।

मूल प्रक्रिया init में बदल जाती है, लेकिन यह स्वामित्व से अलग है। प्रक्रिया का EUID और UID मूल उपयोगकर्ता के बने रहते हैं। अन्यथा, यह संभावित रूप से शोषक हो सकता है, क्योंकि प्रत्येक उपयोगकर्ता के पास अचानक दूसरे उपयोगकर्ता के रूप में कोड चलाने का एक तरीका होगा, और सिस्टम उपयोगकर्ता कोई कम नहीं।
Mattdm

1
EUID / UID! = PPID मैं प्रोसेस ओनरशिप की बात कर रहा हूं, परमिशन की नहीं।
एंड्रयू एम।

हां, मुझे लगता है कि हम "प्रक्रिया स्वामित्व" शब्द के अर्थ को छोड़कर हर चीज के बारे में सहमत हैं। यह उपयोगकर्ता आईडी को संदर्भित करता है जिसके साथ प्रक्रिया जुड़ी हुई है, इसकी मूल प्रक्रिया नहीं। हो सकता है कि भ्रम की स्थिति disownबैश-विशिष्ट आदेश के कारण हो , जो नाम के बावजूद, वास्तव में बदलती प्रक्रिया स्वामित्व से कोई लेना-देना नहीं है।
mattdm
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.