इसे करने का सबसे सरल तरीका इस प्रकार है /etc/init/something.conf
:
start on runlevel [2345]
stop on runlevel [016]
respawn
exec python /path/to/your/script.py
रेस्पॉन इसे वापस शुरू कर देगा यदि इसे मार दिया जाए या गैर-शून्य से बाहर निकाल दिया जाए (जैसे कि कोई अपवाद नहीं)। यह Ubuntu 10.04 पर वापस जा रहा है।
यदि आपके पास 12.04 है तो आप अधिक फैंसी पा सकते हैं। उपरोक्त आपकी स्क्रिप्ट को रूट के रूप में चलाएगा। 12.04 में आप setuid / setgid जोड़ सकते हैं:
start on runlevel [2345]
stop on runlevel [016]
respawn
setuid nobody
setgid nogroup
exec python /path/to/your/python.py
यदि आपकी स्क्रिप्ट तब बाहर निकलती है जब कोई नेटवर्क उपलब्ध नहीं होता है और आप इसे अस्थिर नेटवर्क कनेक्शन पर चलाने की योजना बनाते हैं, तो ठीक है, आपको इसे ठीक करना चाहिए और बस इसे जीवित / पुनः बनाए रखना चाहिए। लेकिन अगर आप ऐसा नहीं कर सकते हैं, तो जब भी नेटवर्क डिवाइस आता है, तो आपको इसे मैन्युअल रूप से शुरू करने की भी आवश्यकता हो सकती है। तो आप इसे इसमें जगह बना सकते हैं /etc/network/if-up.d/yourscript
(इसे chmod + x के साथ निष्पादित कर सकते हैं )
#!/bin/sh
exec start wait-for-state WAITER=$IFACE-yourscript WAIT_FOR=something
जहाँ आपकी स्क्रिप्ट इस विशिष्ट स्क्रिप्ट के लिए केवल कुछ मनमाना और अद्वितीय है, और "कुछ" नौकरी के नाम (जैसे कि /etc/init/something.conf
सुझाए गए) के समान है।