web-dev-qa-db-ja.com

upstartを使用して起動時にPythonスクリプトを実行する

起動時にpythonスクリプトを実行するための起動スクリプトを作成しようとしています。理論的には十分に単純に見えますが、動作させることができないようです。使用しています。私が見つけたスケルトンスクリプト ここ そして変更されました。

description "Used to start python script as a service"
author "Me <[email protected]>"

# 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()
  • Location/var/log/scriptsには権限777があります
  • ファイル/usr/local/scripts/script.pyには権限775があります
  • アップスタートスクリプト/etc/init.d/pythonupstart.confには権限755があります
3
MarcusMaximus

アップスタートスクリプトは入ります/ etc/initではありません/ etc/init.d、その週は長い週でした。 :(

0
MarcusMaximus
1
jamesodhunt