पृष्ठभूमि में एप्लिकेशन के आउटपुट को / dev / null में रीडायरेक्ट कैसे करें


100

मैं लिनक्स में पृष्ठभूमि एप्लिकेशन से उत्पन्न आउटपुट को / dev / null में पुनर्निर्देशित करना चाहूंगा।

मैं केट पाठ संपादक का उपयोग कर रहा हूं और यह टर्मिनल पर सभी डिबग संदेशों को प्रिंट करता है जिसे मैं / dev / null में रीडायरेक्ट करना चाहूंगा।

किसी भी विचार यह कैसे करना है?

धन्यवाद


एक नज़र इस पृष्ठ है। xaprb.com/blog/2006/06/06/what-does-devnull-21-mean
richard.g

जवाबों:


230

तुम इस्तेमाल:

yourcommand  > /dev/null 2>&1

अगर यह पृष्ठभूमि में चलना चाहिए एक जोड़ें &

yourcommand > /dev/null 2>&1 &

>/dev/null 2>&1का अर्थ है उस समय और उस स्थान पर पुनर्निर्देशित stdoutकरना जहां उस समय बिंदु हैं/dev/nullstderrstdout

यदि आप stderrकंसोल पर होना चाहते हैं और केवल आपके पास stdoutजा रहे हैं, /dev/nullतो आप इसका उपयोग कर सकते हैं:

yourcommand 2>&1 > /dev/null

इस मामले stderrमें stdout(जैसे आपके कंसोल) पर पुनर्निर्देशित किया जाता है और बाद में मूल stdoutको पुनर्निर्देशित किया जाता है/dev/null

यदि कार्यक्रम को समाप्त नहीं करना चाहिए तो आप उपयोग कर सकते हैं:

nohup yourcommand &

किसी भी पैरामीटर के बिना सभी आउटपुट भूमि nohup.out में


दोनों काम करते हैं, लेकिन इसमें थोड़ा अंतर होता है, लेकिन फिर भी याद न
रखें

आह ठीक समझ में आ गया और दूसरे संस्करण जोड़ा
evildead

यदि यह एक bash फ़ाइल में अंतिम कमांड है, तो एक बात जो मैंने देखी है वह यह है कि यह कमांड कंसोल को छोड़ता है, जो बिना प्रॉम्प्ट के फाइल को कॉल करता है।
डेनिस

@ पहले से चल रहे एप्लिकेशन का पुनर्निर्देशन आउटपुट संभव नहीं है, या कम से कम इतनी आसानी से नहीं, क्योंकि पुनर्निर्देशन इसके dup2()तुरंत बाद होता है fork()लेकिन पहले exec*()। एक बार exec*()कार्यक्रम निष्पादित करने के बाद, शेल में उस प्रक्रिया के आउटपुट को पुनर्निर्देशित करने की क्षमता नहीं होती है। अगर मैं गलत हूं तो मुझे सुधारो, लेकिन मैं ऐसे शेल के बारे में नहीं जानता जिसने इस तरह की कार्यक्षमता को लागू किया है।
evildead

3

ये भी दोनों को पुनर्निर्देशित करेंगे:

yourcommand  &> /dev/null

yourcommand  >& /dev/null

हालांकि बाश मैनुअल कहता है कि पहली पसंद की जाती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.