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

बैश यह सब अपने आप कर सकता है, और अतिरिक्त कार्यक्रमों को स्थापित करने की आवश्यकता नहीं होगी। यह आलेख कई तरीकों से आगे बढ़ जाएगा कि आप टर्मिनल प्रोग्राम को पृष्ठभूमि में धक्का दे सकते हैं और उन्हें वहां रख सकते हैं। सूचीबद्ध प्रत्येक विधि अपने विशेष उपयोग के मामले के लिए अच्छा है।

एक कमांड को समाप्त करें &

यदि आप पृष्ठभूमि में कमांड को धक्का देना चाहते हैं, तो अंत में और अंत में ऐसा करने का एक आसान तरीका है। हालांकि, यह एक पकड़ के साथ आता है। कमांड को आप से दूर डिस्कनेक्ट करना & डिस्कनेक्ट नहीं करना; यह सिर्फ पृष्ठभूमि में इसे धक्का देता है ताकि आप टर्मिनल का उपयोग जारी रख सकें।

 आदेश & 

जब टर्मिनल सत्र बंद हो जाता है, तो आदेश समाप्त होता है। यदि आप थोड़ी देर के लिए कुछ धक्का देना चाहते हैं तो इसका उपयोग करना & अच्छा है, लेकिन इसे हमेशा के लिए जारी रखने की अपेक्षा न करें।

और एक कमांड के बाद, इसे अस्वीकार कर दिया

बस के साथ एक कमांड चला रहा है & उसे पीछे की तरफ धक्का देता है और जब तक टर्मिनल विंडो खुलती है तब तक इसे चलती रहती है। यदि, हालांकि, आप इस टर्मिनल सत्र को समाप्त होने के साथ भी, इस आदेश को निरंतर चलाना चाहते हैं, तो आप disown आदेश का उपयोग कर सकते हैं।

इस विधि का उपयोग करने के लिए, पहले एक जोड़ना शुरू करें।

 आदेश & 

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

बस खोल में disown, और यह वही करेगा (और आप इसे एक बार फिर jobs आदेश के साथ सत्यापित कर सकते हैं)।

और / dev / null के साथ एक कमांड के बाद

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

 आदेश और> / dev / null & 

जब टर्मिनल बंद हो जाता है तो यह बंद होने से कमांड को रोकता नहीं है। हालांकि, जैसा ऊपर बताया गया है, उपयोगकर्ता से चल रहे कमांड को अस्वीकार करने के लिए disown करना संभव है।

नोहुप, और / dev / null के साथ

पिछले आदेशों के विपरीत, nohup का उपयोग करके आप पृष्ठभूमि में एक कमांड चला सकते हैं और इसे चालू रख सकते हैं। कैसे? नोहुप एचयूपी सिग्नल (सिग्नल लटकता है) को बाईपास करता है, जिससे टर्मिनल बंद होने पर भी पृष्ठभूमि में कमांड चलाने के लिए संभव हो जाता है। इस आदेश को पुनर्निर्देशन के साथ /dev/null (nohup.out फ़ाइल बनाने से nohup को रोकने के लिए) को संयोजित करें, और सब कुछ एक कमांड के साथ पृष्ठभूमि में जाता है।

 नोहप कमांड और> / dev / null & 

निष्कर्ष

लिनक्स पर आज के अधिकांश टर्मिनल कार्यक्रमों में सुविधाओं को कम प्रयास के साथ पृष्ठभूमि में चलाने की अनुमति देने के लिए बनाया गया है। इसके साथ-साथ, आधुनिक init सिस्टम (systemd की तरह) उपयोगकर्ताओं को बूट या कभी भी सेवाओं जैसे प्रोग्राम शुरू करने की अनुमति दे सकता है।

फिर भी, लिनक्स पर कुछ कार्यक्रमों में डेमॉन के रूप में चलाने या आधुनिक इनिट सिस्टम के साथ एकीकृत करने की क्षमता नहीं है। यह एक वास्तविक असुविधा है लेकिन समझ में आता है, क्योंकि सभी डेवलपर्स के पास नई सुविधाओं में जोड़ने का कौशल या समय नहीं है।

सौभाग्य से, nohup या disown जैसे आदेश अभी भी एक वास्तविकता हैं और अभी भी इस तरह के कार्यक्रमों को पृष्ठभूमि में ले जाने में अंतर को बंद कर सकते हैं। वे सही या फैंसी नहीं हैं, लेकिन जब आवश्यक हो तो उन्हें नौकरी मिलती है।

आप चल रहे टर्मिनल प्रोग्राम को पृष्ठभूमि में कैसे ले जाते हैं? नीचे हमें बताओ!

छवि क्रेडिट: एक टर्मिनल-चार स्क्रीन