क्या nohup के लिए आउटपुट को file nohup.out और स्क्रीन / टर्मिनल दोनों पर लिखना संभव है?


23

मैं bashशेल का इस्तेमाल कर रहा हूं । मैं अक्सर nohupयह सुनिश्चित करने के लिए उपयोग करता हूं कि जब मैं खोल / टर्मिनल को बंद करता हूं तो मेरी प्रक्रियाएं बंद नहीं होती हैं। मैं एक वाक्यविन्यास का उपयोग करता हूं:

nohup myprocess

शुरू करते समय, nohupसंदेश देता है:

nohup: ignoring input and appending output to 'nohup.out'

फिर, nohupस्क्रीन को और अधिक आउटपुट नहीं देता है; यह सब लिखा है nohup.out

हालांकि, मैं अपनी गणना की प्रगति की निगरानी करना चाहूंगा। मैं इसका nohup.outउपयोग करके पढ़ सकता हूं viया tail, लेकिन यह बहुत कुछ करने के लिए समय लेने वाला हो सकता है, खासकर जब मेरी गणना में कई घंटे लगते हैं।

क्या कोई ऐसा तरीका है जिससे मैं आउटपुट को दोनों में प्रिंट कर सकता हूं nohup.out(अगर मैं इंटरनेट कनेक्शन खो देता हूं और इस तरह टर्मिनल ने प्रक्रिया शुरू कर दी है) और स्क्रीन पर? आपके समय के लिए धन्यवाद।


3
क्या आपने नोह का उपयोग करने screenया tmuxइसके बजाय विचार किया है ?
derobert

@derobert धन्यवाद मेरे पास screenअपने सिस्टम पर है, लेकिन मैंने कभी इसका इस्तेमाल नहीं किया। मेरे पास tmuxअपने सिस्टम पर नहीं है , लेकिन मैं इसे पाने की कोशिश कर सकता हूं।
एंड्रयू

2
बस लॉग इन और शुरू करने के बीच screen/ लॉन्च करें । तो फिर यह से साथ अलग , । उपसर्ग है , जबकि उपसर्ग है । आप लॉग आउट कर सकते हैं लेकिन जब तक मशीन रहेगी , आपका / सत्र भी जारी रहेगा। अगली बार जब आप लॉग इन करेंगे, तो आप / शेल को, के माध्यम से या खोल सकते हैं । tmuxmyprocessprefixdscreenCtrl-AtmuxCtrl-Bscreentmuxscreentmuxscreen -rtmux attach
jw013

जवाबों:


20

तुम दौड़ सकते हो

nohup yourprocess & tail -f nohup.out

टेल -फ शांत है, दुर्भाग्य से मेरा नियंत्रण पात्रों को ठीक से प्रदर्शित करने में विफल रहता है
एडम हन्यादि

यदि आप nohup.out को कुछ और में बदलना चाहते हैं, तो run.log कहें, और फिर उसका अनुसरण करें, nohup myprocess> run.log 2> & 1 & tail -f
run.log

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