Я пытаюсь создать сценарий выскочки для запуска сценария python при запуске. Теоретически это выглядит достаточно просто, но я просто не могу заставить его работать. Я использую скелетный скрипт, который нашел Вот и переделал.
description "Used to start python script as a service"
author "Me <me@I.com.au>"
# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process if crashed
respawn
# Essentially lets upstart know the process will detach itself to the background
expect fork
# Start the process
script
exec python /usr/local/scripts/script.py
end script
Тестовый сценарий, который я хочу запустить, в настоящее время представляет собой простой сценарий Python, который запускается без каких-либо проблем при запуске с терминала.
#!/usr/bin/python2
import os, sys, time
if __name__ == "__main__":
for i in range (10000):
message = "UpstartTest " , i , time.asctime() , " - Username: " , os.getenv("USERNAME")
#print message
time.sleep(60)
out = open("/var/log/scripts/scriptlogfile", "a")
print >> out, message
out.close()
respawn
первоначально. Видеть: fork
.Чтобы начать работу, вы можете упростить строфу:
exec python /usr/local/scripts/script.py
Что значит /var/log/upstart/yourjob.log
шоу?
Скрипты Upstart входят в / etc / init не /etc/init.d, Это была долгая неделя. :(