बैकग्राउंड में लिनक्स कमांड कैसे चलाएं

Baikagra Unda Mem Linaksa Kamanda Kaise Cala Em



लिनक्स कमांड को पृष्ठभूमि में चलाने से उपयोगकर्ता कमांड के चलने के दौरान अन्य कार्यों को निष्पादित करना जारी रख सकता है। बैकग्राउंड में कमांड चलाने के कई तरीके हैं; सरल तरीकों में से एक एक जोड़ना है एम्परसेंड (&) कमांड लाइन के अंत में।

एक बार पृष्ठभूमि में चलने के लिए एक प्रक्रिया सेट हो जाने के बाद, हम इसका उपयोग करके इसका उपयोग कर सकते हैं नौकरियां आज्ञा। यह आलेख पृष्ठभूमि में कमांड चलाने के सभी अलग-अलग तरीकों को दिखाता है।







पृष्ठभूमि प्रक्रिया को चलाने के विभिन्न तरीकों की सूची इस प्रकार है:



पृष्ठभूमि प्रक्रिया चलाने के लिए सभी विधियों का विवरण निम्नलिखित है:



1: एम्परसेंड (&) चिह्न का उपयोग करना

लिनक्स में एम्परसेंड (&) एक शेल ऑपरेटर है जो एक अलग प्रक्रिया के रूप में पृष्ठभूमि में एक कमांड भेजता है। एंपरसेंड (&) को एक कमांड में जोड़कर, इसे एक बैकग्राउंड प्रोसेस के रूप में निष्पादित किया जाएगा, जिससे शेल अन्य कमांड को तुरंत प्रोसेस करना जारी रख सकेगा।





एम्परसेंड चिह्न का उपयोग करते हुए एक पृष्ठभूमि प्रक्रिया के लिए सिंटैक्स:

$ [ आज्ञा ] और


एम्परसेंड प्रतीक हमेशा कमांड के अंत में बीच में एक ही स्थान के साथ जोड़ा जाता है 'और' और आदेश का अंतिम अक्षर।



उदाहरण के लिए, 40 सेकंड के लिए स्लीप प्रोसेस बनाएं।

$ नींद 40


जैसा कि हम देख सकते हैं, टर्मिनल स्लीप कमांड चला रहा है और हमें कोई अन्य कार्य करने की अनुमति नहीं दे रहा है।


अब दबाएं 'Ctrl + Z' इस प्रक्रिया को रोकने के लिए। इसके बाद, हम इस बार उसी स्लीप कमांड को चलाएंगे लेकिन इसके साथ एम्परसेंड ऑपरेटर का उपयोग करने से यह बैकग्राउंड में सेट हो जाएगा।

$ नींद 40 और



अब यह प्रक्रिया पृष्ठभूमि में है। पृष्ठभूमि चल रही प्रक्रिया का उपयोग सूचीबद्ध करने के लिए:

$ नौकरियां -एल



अब इस पृष्ठभूमि प्रक्रिया का उपयोग करके मारें:

$ मारना -9 [ नौकरी आईडी ]


उदाहरण के लिए, वर्तमान चल रही नींद प्रक्रिया को समाप्त करने के लिए उपयोग करें:

$ मारना -9 6149


पृष्ठभूमि चल रही प्रक्रिया की सूची की पुष्टि करने के लिए अब नींद प्रक्रिया को मार दिया गया है।

$ नौकरियां -एल



यहाँ उपयोग करने का एक और उदाहरण है और एम्परसेंड साइन जीएडिट कमांड के साथ है।

उदाहरण के लिए, यदि हम सीधे टर्मिनल का उपयोग करके जीएडिट टेक्स्ट एडिटर खोलते हैं तो हम अन्य कार्यों के लिए शेल का उपयोग करने के लिए बाध्य होंगे अन्यथा हमें पहले वर्तमान प्रक्रिया को रोकने की आवश्यकता होगी।

$ एडिट


उपरोक्त कमांड का उपयोग करने से टेक्स्ट एडिटर खुल जाएगा जो इसे टर्मिनल के सामने खोलेगा।


लेकिन जीएडिट कमांड के अंत में '&' का उपयोग करने के बाद, शेल अन्य प्रक्रियाओं के लिए उपयोग करने के लिए स्वतंत्र है:

$ एडिट और


2: 'बीजी' कमांड का उपयोग करना

Bg कमांड बैकग्राउंड में कमांड चलाने का दूसरा तरीका है। यह आदेश उपयोगकर्ता को टर्मिनल में काम करना जारी रखने की अनुमति देता है, जबकि प्रक्रिया पृष्ठभूमि में चलती है, टर्मिनल को अन्य कार्यों के लिए मुक्त करती है। बीजी कमांड का उपयोग लंबे समय तक चलने वाली पृष्ठभूमि प्रक्रिया के लिए किया जाता है जो उपयोगकर्ता के लॉग आउट होने पर भी चलती है।

एम्परसेंड चिन्ह की तरह हमें हर बार टर्मिनल पर बीजी टेक्स्ट भेजने के लिए इसे कमांड में जोड़ने की चिंता करने की ज़रूरत नहीं है। यह प्रक्रिया को पृष्ठभूमि में चलाना शुरू कर देगा और भविष्य में उपयोग के लिए टर्मिनल को मुक्त कर देगा।

उदाहरण के लिए, पिछले उदाहरण का उपयोग करते हैं और नींद का आदेश भेजते हैं:

$ नींद 40



अब प्रक्रिया चल रही है और टर्मिनल उपयोग के लिए उपलब्ध नहीं है। बीजी कमांड का उपयोग करने और इस प्रक्रिया को पृष्ठभूमि में भेजने के लिए हमें पहले वर्तमान निष्पादन प्रक्रिया को दबाकर रोकना होगा 'Ctrl + Z' और इस आदेश को क्रियान्वित:

$ बीजी


Bg कमांड भेजने के बाद बैकग्राउंड में स्लीप प्रोसेस जारी रहने लगा। हम अंत में एक एम्परसेंड '&' देख सकते हैं, यह दर्शाता है कि वर्तमान प्रक्रिया पृष्ठभूमि में चल रही है।


पृष्ठभूमि प्रक्रिया की जाँच करने के लिए Jobs कमांड चलाएँ:

$ नौकरियां -एल



पृष्ठभूमि उपयोग में चल रही कमांड की जाँच करने के लिए:

$ fg



वर्तमान प्रक्रिया को खत्म करने के लिए, किल कमांड के साथ इसकी जॉब आईडी का उपयोग करें। जॉब आईडी की जांच करने के लिए दौड़ें:

$ नौकरियां -एल



जॉब्स आईडी किल प्रक्रिया को जानने के बाद:

$ मारना -9 [ नौकरी आईडी ]


उदाहरण के लिए, वर्तमान चल रही नींद प्रक्रिया को समाप्त करने के लिए उपयोग करें:

$ मारना -9 6584


यह पुष्टि करने के लिए कि क्या प्रक्रिया समाप्त हो गई है या नहीं फिर से जॉब कमांड चलाएँ:

$ नौकरियां -एल


हम देख सकते हैं कि नींद की प्रक्रिया अब पृष्ठभूमि में नहीं चल रही है:

3: नोहप कमांड का उपयोग करना

लिनक्स में चल रही पृष्ठभूमि प्रक्रियाओं की हमारी सूची में nohup कमांड तीसरे स्थान पर है। कमांड 'नो हैंग अप' के लिए है और इसका उपयोग टर्मिनल सत्र समाप्त होने तक प्रक्रिया को समाप्त होने से रोकने के लिए किया जाता है। जब कोई प्रक्रिया नोहप का उपयोग करके निष्पादित की जाती है, तो यह उपयोगकर्ता के लॉग आउट होने पर भी चलती रहती है, और प्रक्रिया का आउटपुट नामित फ़ाइल पर पुनर्निर्देशित किया जाता है 'nohup.out' .

पृष्ठभूमि में Google को लगातार पिंग करने के लिए nohup कमांड है और आउटपुट को टेक्स्ट फ़ाइल GooglePing.txt पर पुनर्निर्देशित किया जाता है:

$ nohup गुनगुनाहट Google.com > GooglePing.txt और


इस कमांड को लिखने के बाद हम देख सकते हैं कि टर्मिनल फ्री है और बैकग्राउंड में गूगल को लगातार पिंग करने के लिए एक बैकग्राउंड प्रोसेस चल रहा है।


लॉग फ़ाइल तक पहुँचने के लिए, हम निम्नलिखित कमांड का उपयोग कर सकते हैं:

$ बिल्ली GooglePing.txt



लॉग फाइल को होम स्क्रीन से जीयूआई का उपयोग करके भी एक्सेस किया जा सकता है।

4: डिसडाउन कमांड का उपयोग करना

डिसडाउन कमांड शेल से एक प्रक्रिया को हटाती है और इसे पृष्ठभूमि में चलाती है। जब एक प्रक्रिया को अस्वीकार कर दिया जाता है, तो यह अब टर्मिनल से जुड़ा नहीं रहता है और उपयोगकर्ता के लॉग आउट या टर्मिनल बंद करने के बाद भी चलना जारी रहता है।

पहले हमने एम्पर्सेंड '&' कमांड का उपयोग किया है जो प्रक्रिया को उसके निष्पादन के बाद पृष्ठभूमि में भेजता है लेकिन जैसे ही हम शेल को बंद करते हैं प्रक्रिया समाप्त हो जाती है। इस त्याग आदेश से छुटकारा पाने के लिए है।

डिसडाउन कमांड स्वतंत्र रूप से काम नहीं कर सकता है लेकिन पृष्ठभूमि में कम से कम एक प्रक्रिया चलनी चाहिए।

नीचे दिए गए आदेश को ए के साथ चलाएं और एंपरसेंड साइन जो आपकी कमांड को बैकग्राउंड में भेजेगा।

$ गुनगुनाहट Google.com > GooglePing.txt और


फ़ाइल बनने के बाद हम इसे Jobs कमांड का उपयोग करके सूचीबद्ध कर सकते हैं।


टर्मिनल उपयोग से इसे अलग करने के लिए अब हमारी प्रक्रिया पृष्ठभूमि में चल रही है:

$ अस्वीकार



प्रक्रिया को टर्मिनल से अलग करने की पुष्टि करने के लिए फिर से जॉब्स कमांड चलाएँ:

$ नौकरियां -एल


जैसा कि हमारी प्रक्रिया वर्तमान में चल रही है लेकिन यह अब टर्मिनल के अंदर नहीं दिखाई जाती है:


हमारी प्रक्रिया की पुष्टि करने के लिए, हम उस पिंग फ़ाइल तक पहुँचने के लिए कैट कमांड का उपयोग कर सकते हैं:

$ बिल्ली GooglePing.txt



हमने इस प्रक्रिया को टर्मिनल से सफलतापूर्वक अलग कर दिया है लेकिन यह अभी भी पृष्ठभूमि में चल रही है।

5: tmux यूटिलिटी का उपयोग करना

Tmux एक तरह की टर्मिनल मल्टीप्लेक्सर यूटिलिटी है। Tmux का उपयोग करके हम एक ही शेल में कई टर्मिनल सत्र बना सकते हैं। यह पृष्ठभूमि में प्रक्रियाओं को चलाने की क्षमता प्रदान करता है।

Tmux में एक पृष्ठभूमि प्रक्रिया चलाने के लिए, आप एक नया सत्र बना सकते हैं और फिर कुंजी संयोजन Ctrl-b का उपयोग करके d के बाद इसे अलग कर सकते हैं।

Ubuntu और Linux टकसाल उपयोग पर tmux उपयोगिता स्थापित करने के लिए:

$ सुडो अपार्ट स्थापित करना tmux



फेडोरा रन पर स्थापित करने के लिए:

$ सुडो dnf स्थापित करना tmux


आर्क लिनक्स रन पर स्थापित करने के लिए:

$ सुडो Pacman -एस tmux


अब नया टर्मिनल खोलने के लिए tmux कमांड चलाएँ:

$ tmux


एक नया tmux सत्र उपयोग बनाने के लिए:

$ tmux नया -एस [ सत्र आईडी ]


सभी tmux सत्र उपयोगों को सूचीबद्ध करने के लिए:

$ tmux रास


एक tmux सत्र को मारने के लिए कमांड का उपयोग इस प्रकार करें:

$ tmux मार-सत्र -टी [ सत्र आईडी ]


उदाहरण के लिए, मारना '0' tmux सत्र उपयोग:

$ tmux मार-सत्र -टी 0


यहां हमने वर्तमान चल रहे tmux सक्रिय सत्र को सूचीबद्ध किया है और उपरोक्त आदेश का उपयोग करके इसे मार दें:


    • tmux सेशन प्रेस से अलग करने के लिए 'Ctrl + बी + डी' .
    • सभी आदेशों की सूची प्राप्त करने के लिए दबाएं 'Ctrl+B+?' .
    • tmux विंडो प्रेस के बीच शिफ्ट करने के लिए 'Ctrl + बी + ओ' .

tmux टर्मिनल को लंबवत रूप से विभाजित करने के लिए, दबाएँ 'Ctrl + बी' और टाइप करें % .


से मुख्य टर्मिनल पर वापस जाने के लिए tmux उपयोग:

$ बाहर निकलना

निष्कर्ष

लिनक्स में बैकग्राउंड एप्लिकेशन चलाना एक शक्तिशाली विशेषता है जो उपयोगकर्ताओं को टर्मिनल से लॉग आउट करने या विंडो बंद करने के बाद भी अपने लंबे समय तक चलने वाले कार्यों को चालू रखने की अनुमति देती है। आमतौर पर ए एम्परसेंड और साइन या बीजी पृष्ठभूमि में एक प्रक्रिया भेजने के लिए कमांड का उपयोग किया जाता है। हालाँकि, हम भी उपयोग कर सकते हैं nohup या अस्वीकार टर्मिनल से एक प्रक्रिया को अलग करने की आज्ञा। अंत में, हम इसका उपयोग कर सकते हैं tmux उपयोगिता टर्मिनल को परेशान किए बिना कई टर्मिनल बनाने और बैकग्राउंड प्रोसेस चलाने के लिए।