मैंने Ask Ubuntu पर एक उत्तर संपादित किया जो निम्नलिखित सुझाव दे रहा था
nohup gedit >& /dev/null &
जब वे वास्तव में मतलब था
nohup gedit &> /dev/null &
उत्तरार्द्ध सही ढंग से stderr और stdout दोनों को पुनर्निर्देशित करता है /dev/null
। मैं पूर्व में यह अपेक्षा कर रहा था कि या तो एक फाइल बनाई जाए &
, जिसे या तो अधिक संभावना है, एक त्रुटि देने के लिए जैसा कि अन्य मामलों के लिए है:
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
इसके बजाय, यह ठीक उसी तरह से काम करता है जैसे पूर्व में, एक gedit
विंडो दिखाई देती है और कोई त्रुटि संदेश मुद्रित नहीं होता है।
मुझे यह भी ध्यान रखना चाहिए कि यह शेल विशिष्ट है:
bash
(4.2.45 (1) -release),zsh
(5.0.2),csh
(डिबेट पैकेज संस्करण: 20110502-2) औरtcsh
(6.18.01): ऊपर वर्णित के अनुसार काम करता है, कोई त्रुटि संदेश नहीं, कोई फ़ाइल नहीं बनाई गई।dash
(0.5.7-3):$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd number
ksh
(93u + 2012-08-01): विफल रहता है, लेकिन एक प्रक्रिया स्पष्ट रूप से शुरू होती है (1223
) हालांकि कोईgedit
खिड़की नहीं दिखाई देती है:$ nohup gedit >& /dev/null & [1] 1223 $ ksh: /dev/null: bad file unit number
fish
(2.0.0):> nohup gedit >& /dev/null & fish: Requested redirection to something that is not a file descriptor /dev/null nohup gedit >& /dev/null & ^
तो, क्यों यह कमांड केवल कुछ गोले में कोई त्रुटि (और कोई आउटपुट फ़ाइल नहीं बनाई गई) के साथ चलती है और दूसरों में विफल रहती है? >&
जाहिरा तौर पर विशेष मामले में क्या कर रहा है nohup
? मैं अनुमान लगा रहा हूं कि >& /dev/null
इसकी व्याख्या की जा रही है, >&/dev/null
लेकिन अंतरिक्ष इन गोले में त्रुटि क्यों नहीं कर रहा है?
nohup command
, अपने आवेदन को स्वतंत्र रूप से चलाएं। मेरी मेमोरी के अनुसार, इसका dash
विस्तार ash
, द्वारा विकसित Debian ash
, और यह सीमित शेल है, यहां तक कि maemo OS (n900 मोबाइल पर डेबियन बेस) डैश का उपयोग करता है, पारिवारिक शेल में बैश या टीसीएच के सीमित उपयोग की उम्मीद है। ash
OpenBSD
ash
dash
इसका संस्करण कैसे प्रिंट करना है 0.5.7-3
, लेकिन पैकेज क्या है , आपका क्या है? क्या आप सुनिश्चित हैं कि आप चल रहे हैं dash
? उबंटू का डिफ़ॉल्ट sh
यह नहीं है?
nohup
करता है, मेरा सवाल यह है कि >&
कुछ गोले में अकेले nohup के साथ काम करने लगता है।
dash
।