के साथ काम नहीं कर रहा है मैं नोहप कमांड के साथ एक शेल स्क्रिप्ट चलाने की कोशिश कर रहा हूं। शेल स्क्रिप्ट फाइलों की एक सरणी लेता है, एक लूप में प्रत्येक फ़ाइल पर एक पायथन प्रोग्राम चलाता है, और आउटपुट को फ़ाइल में जोड़ता है। यह सर्वर पर ठीक काम करता है, लेकिन अगर मैं नोहप कमांड का उपयोग करने का प्रयास करता हूं तो यह काम नहीं करता है। मैंने इस सर्वर पर नोहप का उपयोग करके अन्य प्रोग्राम सफलतापूर्वक चलाए हैं, सिर्फ यह स्क्रिप्ट नहीं।शेल स्क्रिप्ट नोहप
#!/bin/sh
ARRAY=(0010.dat 0020.dat 0030.dat)
rm batch_results.dat
touch batch0.dat
touch batch_results.dat
for file in ${ARRAY[@]}
do
python fof.py $file > /dev/null
python mdisk5.py > ./batch0.dat
tail -1 batch0.dat
tail -1 batch0.dat >> batch_results.dat
done
कार्यक्रम ठीक काम करता है जब मैं इसे चलाने जबकि सर्वर से जुड़े रहना, उदाहरण के लिए
./batch.sh > /dev/null &
./batch.sh > ./output.txt &
हालांकि, जब मैं nohup आदेश के साथ इसे चलाने के लिए प्रयास करते हैं,
nohup ./batch.sh > /dev/null &
अगर मैं सर्वर से बाहर निकलता हूं और आउटपुट फ़ाइल (batch_results.dat) वापस आ जाता हूं तो कोई डेटा नहीं होता है।
मुझे यकीन है कि मुझे यहां कुछ सरल फिक्स या कमांड याद आ रहा है। कोई विचार?
संपादित करें: प्रोग्राम fof.py दो फ़ाइलों का उत्पादन करता है जो mdisk5.py के लिए इनपुट के रूप में उपयोग किए जाते हैं। जब मैं नोहुप चलाने के दौरान सर्वर से बाहर निकलता हूं, तो इन दो फ़ाइलों का उत्पादन होता है, लेकिन केवल पहली इनपुट फ़ाइल '0010.dat' के लिए। आउटपुट फाइल batch0.dat और batch_results.dat खाली रहती है। !
#/bin/श
sh
सरणियों का समर्थन नहीं करता:
में अपने डेटा फ़ाइलों की एक सामान्य, व्हाइटस्पेस से अलग स्ट्रिंग का उपयोग '>/dev/null' बाहर ले देखने के लिए अगर कोई उपयोगी जानकारी मुद्रित है? साथ ही, क्या कोई आउटपुट किसी फ़ाइल को 'nohup.txt' या इसी तरह में नहीं डालता है? सौभाग्य। – shellter
मुझे कार्य निर्देशिका में nohup.txt फ़ाइल नहीं मिल रही है। क्या यह एक अलग डिफ़ॉल्ट निर्देशिका में जाता है? – ricitron
नोहप प्रलेखन मैंने अभी गुगल किया है कि यह या तो वर्तमान डीआईआर या $ HOME है। अपने सिस्टम के लिए विशिष्टताओं को देखने के लिए कमांड लाइन 'मैन नोहुप' पर इसे आज़माएं। सौभाग्य। – shellter