' ऑपरेटर से आउटपुट को कैसे रोकें (पृष्ठभूमि ऑपरेटर और रीडायरेक्शन ऑपरेटर को भेजें)'/> ' ऑपरेटर से आउटपुट को कैसे रोकें (पृष्ठभूमि ऑपरेटर और रीडायरेक्शन ऑपरेटर को भेजें)'/> ' ऑपरेटर से आउटपुट को कैसे रोकें (पृष्ठभूमि ऑपरेटर और रीडायरेक्शन ऑपरेटर को भेजें)'/> '&' और '>' ऑपरेटर से आउटपुट को कैसे रोकें (पृष्ठभूमि ऑपरेटर और रीडायरेक्शन ऑपरेटर को भेजें) | exquisiteeventsofnewport.com

सवाल '&' और '>' ऑपरेटर से आउटपुट को कैसे रोकें (पृष्ठभूमि ऑपरेटर और रीडायरेक्शन ऑपरेटर को भेजें)


मैंने विभिन्न संयोजनों की कोशिश की है gedit, &, >/dev/null 2>/dev/null। कब gedit दूसरे दो के साथ प्रयोग किया जाता है यह हमेशा टर्मिनल को कुछ प्रिंट करता है।

gedit in Terminal

मैं समझता हूं कि संख्याएं पिड हैं। लेकिन, कृपया निम्नलिखित को स्पष्ट करें

  • जब मैं stdout और stderr को / dev / null को रीडायरेक्ट करता हूं, जबकि नंगे होते हैं तो उन आउटपुट का उत्पादन क्यों होता है gedit कुछ भी प्रिंट नहीं करता है?
  • क्या करता है [1]+ Done क्या मतलब है?
  • उन आउटपुट को कैसे रोकें?

6
2018-02-26 12:49


मूल


यदि शीर्षक उपयुक्त नहीं है, तो कृपया सर्वोत्तम उत्तरों को आकर्षित करने के लिए इसे बदलें। - MAKZ


जवाब:


$ sleep 10 &
[1] 24446
$ 
[1]+  Done                    sleep 10

[1] 24446 तथा [1]+ Done ... खोल द्वारा मुद्रित हैं। से man bash:

When  bash starts a job asynchronously (in the background), it prints a
line that looks like:

      [1] 25647

आप अक्षम कर सकते हैं Done मॉनीटर मोड को अक्षम करके आउटपुट:

set +m

हालांकि, आप एक इंटरैक्टिव खोल में पहले फॉर्म को अक्षम नहीं कर सकते हैं। इसके बजाय, सबहेल में चलने का प्रयास करें:

$ (gedit &> /dev/null &)
$ 

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

एक साइड नोट, &> दोनों stdout और stderr दोनों को पुनर्निर्देशित करने के लिए इस्तेमाल किया जा सकता है।


8
2018-02-26 12:58



हाँ, set +m और फिर डाल दिया gedit &> /dev/null & के भीतर () इस मुद्दे को हल किया। क्या आप कृपया बता सकते हैं कि क्या है () ऑपरेटर, इसके प्रभाव क्या हैं, और इसका उपयोग कब करें? मुझे आपका जवाब स्वीकार करने की आवश्यकता हो सकती है - MAKZ
@MAKZ जैसे मैंने कहा, यह एक सबहेल शुरू होता है। इस जवाब के लिए सबहेल का प्रभाव थोड़ा अधिक हो सकता है। मेरा सुझाव है कि आप पढ़ते हैं mywiki.wooledge.org/SubShell, और अगर आपको समझ में परेशानी हो तो एक प्रश्न पूछें। - muru