वहाँ nohup.out के अलावा एक लॉग फ़ाइल के लिए nohup उत्पादन पुनर्निर्देशित करने का एक तरीका है?


112

मैं अक्सर प्रोग्राम का उपयोग करता nohupहूं ताकि मेरी प्रक्रिया हैंगअप के लिए प्रतिरक्षा हो। इसलिए यदि मैं programहैंगअप के लिए कार्यक्रम को प्रतिरक्षा बनाना चाहता हूं, तो मैं कमांड का उपयोग करता हूं

nohup program &

जहां &प्रक्रिया को पृष्ठभूमि में रखता है।

जब शुरू, nohupमुझे संदेश देता है:

nohup: 'nohup.out' के लिए आउटपुट जोड़ना

क्या आउटपुट को फ़ाइल के अलावा भेजने का कोई तरीका है nohup.out? अक्सर मैं एक ही निर्देशिका का उपयोग करके कई प्रक्रियाएं चलाना चाहता हूं nohup, लेकिन अगर मैं ऐसा करता हूं, तो सभी आउटपुट एक ही nohup.outफाइल में एक साथ मिल जाते हैं ।

मैनुअल पेज (उदाहरण के लिए, यहां ) लॉग फ़ाइल को निर्दिष्ट करने के लिए एक विकल्प नहीं लगता है। क्या आप इसकी पुष्टि कर सकते हैं? इसके अलावा, क्या आपके पास कोई विचार है कि मैं इस समस्या के आसपास कैसे काम कर सकता हूं?


3
एक साल देर से, लेकिन एक अच्छा व्यापक जवाब यहां दिया गया: stackoverflow.com/questions/4549489/…
राहुल झा

जवाबों:


132

GNU कोरुटिल्स nohupमैन पेज इंगित करता है कि आप सामान्य पुनर्निर्देशन का उपयोग कर सकते हैं:

यदि मानक इनपुट एक टर्मिनल है, तो इसे / dev / null से पुनर्निर्देशित करें। यदि मानक आउटपुट एक टर्मिनल है, तो आउटपुट को 'nohup.out' में जोड़ें, यदि संभव हो तो, '$ HOME / nohup.out' अन्यथा। यदि मानक त्रुटि एक टर्मिनल है, तो इसे मानक आउटपुट पर पुनर्निर्देशित करें। आउटपुट को FILE में सहेजने के लिए, 'nohup COMMAND> FILE' का उपयोग करें।

संपादित करें: मैंने आपका लिंक पहले नहीं पढ़ा था; आपके पास एक अलग संस्करण हो सकता है nohup, हालांकि यह खंड बताता है कि आप अभी भी सामान्य पुनर्निर्देशन का उपयोग कर सकते हैं:

 nohup.out          The output file of the nohup execution if
                    standard  output is a terminal and if the
                    current directory is writable.

आप मानक आउटपुट और मानक त्रुटि को विभिन्न फ़ाइलों पर पुनर्निर्देशित कर सकते हैं:

nohup myprogram > myprogram.out 2> myprogram.err

या उसी फ़ाइल में:

nohup myprogram > myprogram.out 2>&1

54
विशेष रूप से उत्तर देने के लिए: nohup program > program.out &program.outnohup.out
जिम पेरिस

4
और यह GNU उपयोगिताओं के लिए विशिष्ट नहीं है, व्यवहार POSIX द्वारा निर्दिष्ट किया गया है।
गाइल्स

3
यह काम नहीं लगता है। यह नोहूप कमांड के आउटपुट को रीडायरेक्ट करता है बल्कि मायप्रोग्राम के आउटपुट को।
क्रिश

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