कहते हैं आप इस तरह से काम शुरू करें
foo
और फिर इच्छा है कि आप इसे पृष्ठभूमि में रखना चाहते हैं। टाइपिंग Ctrl+ Zऔर फिर bgट्रिक करता है लेकिन + और के fooबीच फ्रीज होगा । मैं इसे पहले फ्रीज किए बिना पृष्ठभूमि में फू कैसे रख सकता हूं?CtrlZbg
कहते हैं आप इस तरह से काम शुरू करें
foo
और फिर इच्छा है कि आप इसे पृष्ठभूमि में रखना चाहते हैं। टाइपिंग Ctrl+ Zऔर फिर bgट्रिक करता है लेकिन + और के fooबीच फ्रीज होगा । मैं इसे पहले फ्रीज किए बिना पृष्ठभूमि में फू कैसे रख सकता हूं?CtrlZbg
जवाबों:
तकनीकी रूप से fooपहले से ही पृष्ठभूमि में चलता है। आप दूसरा टर्मिनल सत्र शुरू कर सकते हैं, और दूसरा काम करते समय पहले वाला भाग जारी रहेगा foo।
एक्स में, इसमें बस एक दूसरा टर्मिनल एप्लिकेशन शुरू करना या किसी अन्य टैब को खोलना शामिल है, यदि आपकी पसंद के टर्मिनल एमुलेटर में ऐसी विशेषताएं हैं।
कंसोल पर, यदि आपने इसके लिए योजना नहीं बनाई है, तो आपको एक अलग वर्चुअल टर्मिनल पर स्विच करना होगा और फिर से लॉग इन करना होगा।
यदि आप किसी टर्मिनल मल्टीप्लेक्सर का उपयोग करते हैं screenया tmuxआप इसके भीतर एक और सत्र शुरू कर सकते हैं। उदाहरण के लिए, स्क्रीन में, इस का उपयोग किया जाता Ctrl+ Aइसके तुरंत बाद आता Ctrl+ C। उनके बीच स्विच करने के लिए, टर्मिनल सत्रों के बीच आगे और पीछे जाने के लिए Ca Cn और Ca Cp का उपयोग करें।
foo अपने आप में (अनुपस्थित विशिष्ट जाँच, जिसका मैं अनुमान लगाता हूँ कि जंगल में कहीं दुर्लभ और कोई नहीं है) यह परवाह नहीं करता है कि यह सबसे ऊपर की खिड़की में चल रहा है या यहां तक कि अगर कुछ अपना उत्पादन प्रदर्शित कर रहा है।
fooपहले से ही पृष्ठभूमि में चलता है " के साथ शुरू करने के लिए ... बस ... नहीं। तकनीकी रूप से।
fooइसलिए अब मैं क्या करूं?" यदि आपको लगता है कि यह उत्तर (या अन्य उत्तर) प्रश्न का उत्तर देने में उपयोगी नहीं है, तो मैं आपको अपने वोटिंग विशेषाधिकारों का उपयोग करने के लिए प्रोत्साहित करने के साथ-साथ अपने स्वयं के प्रश्न का उत्तर देने से छोड़ दूंगा जो आपको लगता है कि सही कोण है, बजाय प्रश्न पर उत्तर में से एक के बारे में बहस करना । शायद आप उदाहरण के लिए महसूस करते हैं l0b0 का उत्तर बेहतर है, लेकिन मेरा जवाब ओपी को कम से कम मोटे तौर पर ऐसा करने का एक तरीका प्रदान करता है।
अग्रभूमि से पृष्ठभूमि पर एक आवेदन भेजने के लिए टर्मिनल और शेल दोनों से सहयोग की आवश्यकता होती है। टर्मिनल इसे अकेले नहीं कर सकता, क्योंकि शेल को अग्रभूमि प्रक्रिया समूह सेट करना होगा। शेल इसे अकेले नहीं कर सकता है, क्योंकि टर्मिनल को कुंजी प्रेस को संसाधित करना होगा (शेल अग्रभूमि में नहीं है, इसलिए यह कुंजी प्रेस प्राप्त नहीं कर सकता है)।
मेरे पास एक zsh कॉन्फ़िगरेशन है जहां मैं त्वरित उत्तराधिकार में Ctrl+ Zदो बार दबा सकता हूं ; पहला प्रेस प्रक्रिया को निलंबित कर देता है, और दूसरा प्रेस इसे पृष्ठभूमि में फिर से शुरू करता है। मैं नहीं जानता कि इसे कैसे कोसना है।
यदि आप एक टर्मिनल एमुलेटर में चल रहे हैं जो आपको कीस्ट्रोक्स इंजेक्ट करने की अनुमति देता है, तो आप इंजेक्ट कर सकते हैं ^Zbg^M( ^नियंत्रण वर्णों के लिए अंकन का उपयोग करके )। उदाहरण के लिए, X11 टर्मिनल एमुलेटर के साथ, xdotool --window 1234 Ctrl_L+Z b g Returnजहां रन 1234 टर्मिनल एमुलेटर की विंडो आईडी है। स्क्रीन के साथ, रन screen -S foo -p 12 -X stuff $'\032bg\r'जहां fooस्क्रीन सत्र का नाम 12है और विंडो आईडी है।
यदि आपकी टाइपिंग मामले के लिए पर्याप्त त्वरित नहीं है, तो kill -s SIGSTOP 1023 && kill -s SIGCONT 1023एक अन्य शेल से चलाएं , लक्ष्य पीआईडी के रूप में 1023 को दबाकर।
अस्वीकरण: जैसा कि रुस्लान शायद जानते थे, वास्तव में यह क्रम नौकरी को फिर से शुरू bashकरता है इसलिए जल्दी से इस पर ध्यान नहीं जाता है।