web-dev-qa-db-ja.com

Python Ubuntu 11.10でのサービスとしてのスクリプト

次の問題に直面しています。 pythonスクリプトをUbuntu 11.10システムでサービスとして実行したい(既に次のリンクで言及されている: buntuでUpstartを使用するPythonサービス )言及されたステップに従った上記のリンクでは、次のエラーメッセージがsyslogに表示されました。

init: script main process (21826) terminated with status 1
Jun 8 16:59:55 bilbo kernel: [263012.984531] init: script main process ended, respawning
Jun 8 16:59:55 bilbo kernel: [263013.044099] init: script main process (21827) terminated with status 1

上記の2行は常に繰り返されています。

Sudo start script、私は次のようになります:

$ Sudo start script
script start/running, process 21826

以下は私のscript.confに配置/etc/init

description "Used to start python script as a service"
author "bilbo"
start on runlevel [2]
stop on runlevel [06]
exec python /home/bilbo/scripts/webserver.py
respawn

私が間違っていることを教えてください? pythonコードも変更する必要がありますか?

3
bugs99

webserver.pyは、ゼロ以外の値で終了します。デフォルトでは、Upstartはこれをエラーと見なし、サービスの再起動を試行しています。

なぜwebserver.pyは終了しています-私の推測では、特定の環境を想定しています。 Upstartがプロセスを生成すると、cronおよびatと同様に環境をクリアし、非常に少数の変数を設定します。

ジョブ環境全体を表示するには、次のようにsetへの呼び出しを追加します。

pythonサービスに他の変数が必要な場合は、「env」(Upstartスタンザ、notシェルコマンド)。

1
jamesodhunt