วิธีที่ง่ายที่สุดในการทำเช่นนี้คือ/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 คุณจะได้รับแฟนซีมากขึ้น ด้านบนจะเรียกใช้สคริปต์ของคุณเป็น root ใน 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
โดยที่ yourcript เป็นเพียงบางสิ่งบางอย่างโดยพลการและไม่ซ้ำกับสคริปต์นี้และ "บางอย่าง" นั้นเหมือนกับชื่องาน (เช่นที่/etc/init/something.conf
แนะนำไว้ก่อนหน้านี้)