3

ブート時に開始する必要がある Python スクリプトを作成しています (開始すると、永久に実行し続ける必要があります)。次のようなコマンドを実行してサービスを管理できるようにしたいと思います。

sudo service my-service (and either start, stop, restart, etc.)

私はそれについて多くのことを読んでいて、本当に私のプロジェクトを終わらせたいと思っています. これを見ましたが、 Linux Start-up Script を機能させるには、実装の助けが必要です。どこから始めればよいかさえわかりません。bash でプログラミングする方法はよくわかりませんが、すべてのソリューションに対してオープンです。事前に感謝します。すべての回答に感謝します。

4

1 に答える 1

2

zdaemonを見てください。Python プロセスをデーモン化する簡単な方法を提供します。

次に、OS に基づいて、そのための init.d スクリプトを作成できます。または、Upstart、supervisord などのツールを使用してデーモンを制御することもできます。

私のinit.dスクリプト(centos 5.8上)は次のようになります:

. /etc/rc.d/init.d/functions

. /etc/sysconfig/network

APP_PATH=/path/to/your/app
PYTHON=/usr/local/bin/python
USER=user

start() {
    cd $APP_PATH
    zdaemon -C app.zdconf start
}

stop() {
    cd $APP_PATH
    zdaemon -C app.zdconf stop
}

check_status() {
        cd $APP_PATH
        zdaemon -C app.zdconf status
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        check_status
        ;;
  restart)
        stop
        start
        ;;
  *)

esac
exit 0

app.zdconf は zdaemon 構成ファイルです。

于 2012-11-10T09:42:40.347 に答える