इस पोस्ट का वर्णन करता है एक bash स्क्रिप्ट में जिंदा एक बच्चे की प्रक्रिया रखने के लिए कैसे:विफल होने पर एक पायथन स्क्रिप्ट को स्वत: पुनरारंभ कैसे करें?
How do I write a bash script to restart a process if it dies?
यह एक और bash स्क्रिप्ट फोन करने के लिए महान काम किया।
#!/bin/bash
PYTHON=/usr/bin/python2.6
function myprocess {
$PYTHON daemon.py start
}
NOW=$(date +"%b-%d-%y")
until myprocess; do
echo "$NOW Prog crashed. Restarting..." >> error.txt
sleep 1
done
अब व्यवहार पूरी तरह से अलग है:
हालांकि, मैं कुछ इसी तरह जहां बच्चे प्रक्रिया Python स्क्रिप्ट है, daemon.py जो एक काँटेदार बच्चे प्रक्रिया है जो पृष्ठभूमि में चलता है बनाता है क्रियान्वित करने की कोशिश की। ऐसा लगता है कि पाइथन लिपि अब बैश स्क्रिप्ट का बच्चा नहीं है, लेकिन ऐसा लगता है कि बाश स्क्रिप्ट्स पीआईडी 'ले लिया गया है' - इसलिए अब स्क्रिप्ट के चारों ओर एक बाश रैपर नहीं है ... क्यों?
यह जानने में मदद करेगा कि daemon.py में क्या है, लेकिन नाम से मैं अनुमान लगा रहा हूं कि यह "निष्पादन" करता है या जो कुछ भी पाइथन समकक्ष पृष्ठभूमि में रखना है। –
...। डब्ल्यू एच एक टी? –
daemon.py – chris