लिनक्स कमांड को पृष्ठभूमि में चलाने से उपयोगकर्ता कमांड के चलने के दौरान अन्य कार्यों को निष्पादित करना जारी रख सकता है। बैकग्राउंड में कमांड चलाने के कई तरीके हैं; सरल तरीकों में से एक एक जोड़ना है एम्परसेंड (&) कमांड लाइन के अंत में।
एक बार पृष्ठभूमि में चलने के लिए एक प्रक्रिया सेट हो जाने के बाद, हम इसका उपयोग करके इसका उपयोग कर सकते हैं नौकरियां आज्ञा। यह आलेख पृष्ठभूमि में कमांड चलाने के सभी अलग-अलग तरीकों को दिखाता है।
पृष्ठभूमि प्रक्रिया को चलाने के विभिन्न तरीकों की सूची इस प्रकार है:
पृष्ठभूमि प्रक्रिया चलाने के लिए सभी विधियों का विवरण निम्नलिखित है:
1: एम्परसेंड (&) चिह्न का उपयोग करना
लिनक्स में एम्परसेंड (&) एक शेल ऑपरेटर है जो एक अलग प्रक्रिया के रूप में पृष्ठभूमि में एक कमांड भेजता है। एंपरसेंड (&) को एक कमांड में जोड़कर, इसे एक बैकग्राउंड प्रोसेस के रूप में निष्पादित किया जाएगा, जिससे शेल अन्य कमांड को तुरंत प्रोसेस करना जारी रख सकेगा।
एम्परसेंड चिह्न का उपयोग करते हुए एक पृष्ठभूमि प्रक्रिया के लिए सिंटैक्स:
$ [ आज्ञा ] और
एम्परसेंड प्रतीक हमेशा कमांड के अंत में बीच में एक ही स्थान के साथ जोड़ा जाता है 'और' और आदेश का अंतिम अक्षर।
उदाहरण के लिए, 40 सेकंड के लिए स्लीप प्रोसेस बनाएं।
$ नींद 40
जैसा कि हम देख सकते हैं, टर्मिनल स्लीप कमांड चला रहा है और हमें कोई अन्य कार्य करने की अनुमति नहीं दे रहा है।
अब दबाएं 'Ctrl + Z' इस प्रक्रिया को रोकने के लिए। इसके बाद, हम इस बार उसी स्लीप कमांड को चलाएंगे लेकिन इसके साथ एम्परसेंड ऑपरेटर का उपयोग करने से यह बैकग्राउंड में सेट हो जाएगा।
अब यह प्रक्रिया पृष्ठभूमि में है। पृष्ठभूमि चल रही प्रक्रिया का उपयोग सूचीबद्ध करने के लिए:
अब इस पृष्ठभूमि प्रक्रिया का उपयोग करके मारें:
उदाहरण के लिए, वर्तमान चल रही नींद प्रक्रिया को समाप्त करने के लिए उपयोग करें:
पृष्ठभूमि चल रही प्रक्रिया की सूची की पुष्टि करने के लिए अब नींद प्रक्रिया को मार दिया गया है।
यहाँ उपयोग करने का एक और उदाहरण है और एम्परसेंड साइन जीएडिट कमांड के साथ है।
उदाहरण के लिए, यदि हम सीधे टर्मिनल का उपयोग करके जीएडिट टेक्स्ट एडिटर खोलते हैं तो हम अन्य कार्यों के लिए शेल का उपयोग करने के लिए बाध्य होंगे अन्यथा हमें पहले वर्तमान प्रक्रिया को रोकने की आवश्यकता होगी।
$ एडिट
उपरोक्त कमांड का उपयोग करने से टेक्स्ट एडिटर खुल जाएगा जो इसे टर्मिनल के सामने खोलेगा।
लेकिन जीएडिट कमांड के अंत में '&' का उपयोग करने के बाद, शेल अन्य प्रक्रियाओं के लिए उपयोग करने के लिए स्वतंत्र है:
2: 'बीजी' कमांड का उपयोग करना
Bg कमांड बैकग्राउंड में कमांड चलाने का दूसरा तरीका है। यह आदेश उपयोगकर्ता को टर्मिनल में काम करना जारी रखने की अनुमति देता है, जबकि प्रक्रिया पृष्ठभूमि में चलती है, टर्मिनल को अन्य कार्यों के लिए मुक्त करती है। बीजी कमांड का उपयोग लंबे समय तक चलने वाली पृष्ठभूमि प्रक्रिया के लिए किया जाता है जो उपयोगकर्ता के लॉग आउट होने पर भी चलती है।
एम्परसेंड चिन्ह की तरह हमें हर बार टर्मिनल पर बीजी टेक्स्ट भेजने के लिए इसे कमांड में जोड़ने की चिंता करने की ज़रूरत नहीं है। यह प्रक्रिया को पृष्ठभूमि में चलाना शुरू कर देगा और भविष्य में उपयोग के लिए टर्मिनल को मुक्त कर देगा।
उदाहरण के लिए, पिछले उदाहरण का उपयोग करते हैं और नींद का आदेश भेजते हैं:
$ नींद 40
अब प्रक्रिया चल रही है और टर्मिनल उपयोग के लिए उपलब्ध नहीं है। बीजी कमांड का उपयोग करने और इस प्रक्रिया को पृष्ठभूमि में भेजने के लिए हमें पहले वर्तमान निष्पादन प्रक्रिया को दबाकर रोकना होगा 'Ctrl + Z' और इस आदेश को क्रियान्वित:
Bg कमांड भेजने के बाद बैकग्राउंड में स्लीप प्रोसेस जारी रहने लगा। हम अंत में एक एम्परसेंड '&' देख सकते हैं, यह दर्शाता है कि वर्तमान प्रक्रिया पृष्ठभूमि में चल रही है।
पृष्ठभूमि प्रक्रिया की जाँच करने के लिए Jobs कमांड चलाएँ:
पृष्ठभूमि उपयोग में चल रही कमांड की जाँच करने के लिए:
वर्तमान प्रक्रिया को खत्म करने के लिए, किल कमांड के साथ इसकी जॉब आईडी का उपयोग करें। जॉब आईडी की जांच करने के लिए दौड़ें:
जॉब्स आईडी किल प्रक्रिया को जानने के बाद:
उदाहरण के लिए, वर्तमान चल रही नींद प्रक्रिया को समाप्त करने के लिए उपयोग करें:
यह पुष्टि करने के लिए कि क्या प्रक्रिया समाप्त हो गई है या नहीं फिर से जॉब कमांड चलाएँ:
हम देख सकते हैं कि नींद की प्रक्रिया अब पृष्ठभूमि में नहीं चल रही है:
3: नोहप कमांड का उपयोग करना
लिनक्स में चल रही पृष्ठभूमि प्रक्रियाओं की हमारी सूची में nohup कमांड तीसरे स्थान पर है। कमांड 'नो हैंग अप' के लिए है और इसका उपयोग टर्मिनल सत्र समाप्त होने तक प्रक्रिया को समाप्त होने से रोकने के लिए किया जाता है। जब कोई प्रक्रिया नोहप का उपयोग करके निष्पादित की जाती है, तो यह उपयोगकर्ता के लॉग आउट होने पर भी चलती रहती है, और प्रक्रिया का आउटपुट नामित फ़ाइल पर पुनर्निर्देशित किया जाता है 'nohup.out' .
पृष्ठभूमि में Google को लगातार पिंग करने के लिए nohup कमांड है और आउटपुट को टेक्स्ट फ़ाइल GooglePing.txt पर पुनर्निर्देशित किया जाता है:
$ nohup गुनगुनाहट Google.com > GooglePing.txt और
इस कमांड को लिखने के बाद हम देख सकते हैं कि टर्मिनल फ्री है और बैकग्राउंड में गूगल को लगातार पिंग करने के लिए एक बैकग्राउंड प्रोसेस चल रहा है।
लॉग फ़ाइल तक पहुँचने के लिए, हम निम्नलिखित कमांड का उपयोग कर सकते हैं:
लॉग फाइल को होम स्क्रीन से जीयूआई का उपयोग करके भी एक्सेस किया जा सकता है।
4: डिसडाउन कमांड का उपयोग करना
डिसडाउन कमांड शेल से एक प्रक्रिया को हटाती है और इसे पृष्ठभूमि में चलाती है। जब एक प्रक्रिया को अस्वीकार कर दिया जाता है, तो यह अब टर्मिनल से जुड़ा नहीं रहता है और उपयोगकर्ता के लॉग आउट या टर्मिनल बंद करने के बाद भी चलना जारी रहता है।
पहले हमने एम्पर्सेंड '&' कमांड का उपयोग किया है जो प्रक्रिया को उसके निष्पादन के बाद पृष्ठभूमि में भेजता है लेकिन जैसे ही हम शेल को बंद करते हैं प्रक्रिया समाप्त हो जाती है। इस त्याग आदेश से छुटकारा पाने के लिए है।
डिसडाउन कमांड स्वतंत्र रूप से काम नहीं कर सकता है लेकिन पृष्ठभूमि में कम से कम एक प्रक्रिया चलनी चाहिए।
नीचे दिए गए आदेश को ए के साथ चलाएं और एंपरसेंड साइन जो आपकी कमांड को बैकग्राउंड में भेजेगा।
$ गुनगुनाहट Google.com > GooglePing.txt और
फ़ाइल बनने के बाद हम इसे Jobs कमांड का उपयोग करके सूचीबद्ध कर सकते हैं।
टर्मिनल उपयोग से इसे अलग करने के लिए अब हमारी प्रक्रिया पृष्ठभूमि में चल रही है:
प्रक्रिया को टर्मिनल से अलग करने की पुष्टि करने के लिए फिर से जॉब्स कमांड चलाएँ:
जैसा कि हमारी प्रक्रिया वर्तमान में चल रही है लेकिन यह अब टर्मिनल के अंदर नहीं दिखाई जाती है:
हमारी प्रक्रिया की पुष्टि करने के लिए, हम उस पिंग फ़ाइल तक पहुँचने के लिए कैट कमांड का उपयोग कर सकते हैं:
हमने इस प्रक्रिया को टर्मिनल से सफलतापूर्वक अलग कर दिया है लेकिन यह अभी भी पृष्ठभूमि में चल रही है।
5: tmux यूटिलिटी का उपयोग करना
Tmux एक तरह की टर्मिनल मल्टीप्लेक्सर यूटिलिटी है। Tmux का उपयोग करके हम एक ही शेल में कई टर्मिनल सत्र बना सकते हैं। यह पृष्ठभूमि में प्रक्रियाओं को चलाने की क्षमता प्रदान करता है।
Tmux में एक पृष्ठभूमि प्रक्रिया चलाने के लिए, आप एक नया सत्र बना सकते हैं और फिर कुंजी संयोजन Ctrl-b का उपयोग करके d के बाद इसे अलग कर सकते हैं।
Ubuntu और Linux टकसाल उपयोग पर tmux उपयोगिता स्थापित करने के लिए:
$ सुडो अपार्ट स्थापित करना tmux
फेडोरा रन पर स्थापित करने के लिए:
आर्क लिनक्स रन पर स्थापित करने के लिए:
अब नया टर्मिनल खोलने के लिए tmux कमांड चलाएँ:
एक नया tmux सत्र उपयोग बनाने के लिए:
सभी tmux सत्र उपयोगों को सूचीबद्ध करने के लिए:
एक tmux सत्र को मारने के लिए कमांड का उपयोग इस प्रकार करें:
उदाहरण के लिए, मारना '0' tmux सत्र उपयोग:
यहां हमने वर्तमान चल रहे tmux सक्रिय सत्र को सूचीबद्ध किया है और उपरोक्त आदेश का उपयोग करके इसे मार दें:
-
- tmux सेशन प्रेस से अलग करने के लिए 'Ctrl + बी + डी' .
- सभी आदेशों की सूची प्राप्त करने के लिए दबाएं 'Ctrl+B+?' .
- tmux विंडो प्रेस के बीच शिफ्ट करने के लिए 'Ctrl + बी + ओ' .
tmux टर्मिनल को लंबवत रूप से विभाजित करने के लिए, दबाएँ 'Ctrl + बी' और टाइप करें % .
से मुख्य टर्मिनल पर वापस जाने के लिए tmux उपयोग:
निष्कर्ष
लिनक्स में बैकग्राउंड एप्लिकेशन चलाना एक शक्तिशाली विशेषता है जो उपयोगकर्ताओं को टर्मिनल से लॉग आउट करने या विंडो बंद करने के बाद भी अपने लंबे समय तक चलने वाले कार्यों को चालू रखने की अनुमति देती है। आमतौर पर ए एम्परसेंड और साइन या बीजी पृष्ठभूमि में एक प्रक्रिया भेजने के लिए कमांड का उपयोग किया जाता है। हालाँकि, हम भी उपयोग कर सकते हैं nohup या अस्वीकार टर्मिनल से एक प्रक्रिया को अलग करने की आज्ञा। अंत में, हम इसका उपयोग कर सकते हैं tmux उपयोगिता टर्मिनल को परेशान किए बिना कई टर्मिनल बनाने और बैकग्राउंड प्रोसेस चलाने के लिए।