प्राप्त करें मैंने दो खोल स्क्रिप्ट ए.एस. और बी.एस. A.sh और b.sh में मेरे पास लूप के लिए अनंत है और वे कुछ आउटपुट टर्मिनल पर प्रिंट करते हैं। मैं एक और स्क्रिप्ट लिखना चाहता हूं जो a.sh और b.sh दोनों को कॉल करता है लेकिन मैं चाहता हूं कि उपयोगकर्ता असीमित रूप से चलने के बजाय टर्मिनल पर नियंत्रण प्राप्त कर ले और मैं टर्मिनल में आउटपुट छिपाना चाहता हूं।पृष्ठभूमि में एक शेल स्क्रिप्ट कैसे चलाएं और आउटपुट
उत्तर
nohup
का उपयोग करें यदि आपकी पृष्ठभूमि नौकरी खत्म होने में लंबा समय लगता है या आप केवल सिक्योरसीआरटी या सर्वर जैसे लॉगिन करते हैं।
/dev/null
को stdout और stderr पुन: निर्देशित उत्पादन की अनदेखी करने के।
nohup /path/to/your/script.sh > /dev/null 2>&1 &
वे अपनी स्क्रिप्ट के रूप में ही निर्देशिका में शामिल है कि में हैं:
./a.sh > /dev/null 2>&1 &
./b.sh > /dev/null 2>&1 &
&
अंत में क्या पृष्ठभूमि में चलाने अपनी स्क्रिप्ट बनाता है।
> /dev/null 2>&1
भाग आवश्यक नहीं है - यह stdout और stderr धाराओं को पुनर्निर्देशित करता है ताकि आपको उन्हें टर्मिनल पर नहीं देखना पड़े, जो आप बहुत सारे आउटपुट के साथ शोर स्क्रिप्ट के लिए करना चाहते हैं।
प्रत्येक शरीर का धन्यवाद। सभी उत्तर वास्तव में धन्यवाद उपयोगी थे। –
इस तरह की एक फाइल करने के लिए उत्पादन रीडायरेक्ट करें:
./a.sh > somefile 2>&1 &
यह एक ही फाइल करने के लिए दोनों stdout और stderr पर पहुंच जाएंगे। आप दो अलग अलग फ़ाइलों के लिए stdout और stderr रीडायरेक्ट करने के लिए चाहते हैं, तो इस का उपयोग करें:
./a.sh > stdoutfile 2> stderrfile &
आप /dev/null
एक या फ़ाइलों के दोनों रूप में उपयोग कर सकते हैं अगर आप stdout और/या stderr के बारे में परवाह नहीं है।
रीडायरेक्शन के बारे में विवरण के लिए bash manpage देखें।
क्षमा करें यह थोड़ी देर हो चुकी है, लेकिन somple आदेश के लिए आदर्श समाधान है जहाँ आप किसी भी मानक या त्रुटि निर्गम (क्रेडिट जहां यह कारण बताया गया है: http://felixmilea.com/2014/12/running-bash-commands-background-properly/) नहीं करना चाहती पाया
यह आउटपुट पुनर्निर्देश शून्य पर और स्क्रीन साफ़ करता है:
command &>/dev/null &
नोट: टर्मिनल के दौरान आदेश समाप्त हो जाएगा बंद हो गया है। – Banana
भविष्य में इसे देखने वाले किसी भी व्यक्ति के लिए जो सत्र समाप्त होने के बाद चलने वाले आदेशों को रखने का समाधान चाहता है, मैं स्क्रीन या टीएमयूक्स का सुझाव दूंगा। वे आवश्यक 'सत्र के भीतर सत्र' चलाते हैं जो प्रारंभिक सत्र को बंद करने के बाद चलता है। यदि आप वापस लॉग इन करते हैं तो आप चालू सत्र से फिर से कनेक्ट कर सकते हैं। rsync बैकअप चलाने के लिए बढ़िया उदाहरण के लिए जहां सिंक को लंबे समय तक चलाने की आवश्यकता है और आप अपना सत्र चलाना नहीं चाहते हैं। – DanteAlighieri
- 1. पृष्ठभूमि में एक पायथन स्क्रिप्ट कैसे चलाएं?
- 2. पृष्ठभूमि में रूबी स्क्रिप्ट चलाएं
- 3. वर्तमान टर्मिनल से नए टर्मिनल में एक शेल स्क्रिप्ट चलाएं
- 4. प्रति मिनट एक बार पृष्ठभूमि में एक पावरहेल स्क्रिप्ट चलाएं
- 5. शेल स्क्रिप्ट
- 6. अनलॉक पर एक स्क्रिप्ट चलाएं?
- 7. शेल स्क्रिप्ट
- 8. शेल स्क्रिप्ट
- 9. cmake में एक शेल कमांड (ctags) चलाएं और
- 10. फोर्क टू शेल स्क्रिप्ट और हास्केल
- 11. शेल स्क्रिप्ट
- 12. एक शेल स्क्रिप्ट से जावा
- 13. शेल स्क्रिप्ट
- 14. एक शेल स्क्रिप्ट में concat स्ट्रिंग
- 15. Emacs से एक प्रोग्राम चलाएं और आउटपुट
- 16. शेल स्क्रिप्ट नोहप
- 17. पथ में शेल स्क्रिप्ट और रिक्त स्थान
- 18. आर में खोल स्क्रिप्ट कैसे चलाएं और आउटपुट को टेबल में कैसे प्राप्त करें?
- 19. एक शेल स्क्रिप्ट में अजीब एम्बेडिंग
- 20. पृष्ठभूमि में JavaExec कार्य चलाएं और फिर
- 21. एक पायथन स्क्रिप्ट इनपुट में शेल कमांड आउटपुट को रीडायरेक्ट कैसे करें?
- 22. दोबारा विफल होने तक एक शेल कमांड चलाएं?
- 23. लिनक्स: एक स्क्रिप्ट में एक बाइनरी चलाएं
- 24. एंड्रॉइड में पृष्ठभूमि में एप्लिकेशन कैसे चलाएं?
- 25. एंड्रॉइड में पृष्ठभूमि में गतिविधि कैसे चलाएं
- 26. शेल स्क्रिप्ट में काउंटर जोड़ना
- 27. शेल स्क्रिप्ट के आउटपुट स्ट्रीम प्रकार का पता लगाना
- 28. उबंटू की शुरुआत में एक स्क्रिप्ट कैसे चलाएं?
- 29. शेल स्क्रिप्ट के साथ संगीत
- 30. मैं स्क्रिप्ट के भीतर पूरी शेल स्क्रिप्ट के आउटपुट को रीडायरेक्ट कैसे करूं?
बस जोड़ने के लिए, कभी-कभी स्क्रिप्ट के लिए तर्क होते हैं तो उपरोक्त आदेश वापस आ जाएगा ** अस्पष्ट आउटपुट रीडायरेक्ट **। – sabertooth1990
मुझे मिला एक बेहतर तरीका 'nohup /path/to/your/script.sh पैरामीटर 1> और 1 और ' का उपयोग करना है यदि कोई बेहतर तरीका जानता है। – sabertooth1990
यदि आप 'नोहुप' का उपयोग कर रहे हैं, तो आपको '/ dev/null 2> और 1' की आवश्यकता नहीं है क्योंकि यह पहले से ही सभी STDOUT और STDERR स्ट्रीम को स्वचालित रूप से nohup.out फ़ाइल में जोड़ता है। केवल उपयोग करें: 'नोहुप/पथ/से/आपका/कमांड और ' – leonarth