読者です 読者をやめる 読者になる 読者になる

シェルスクリプトでサーバーを起動、停止する

Ubuntu Python Linux

Flaskとかで作ったちょっとしたサーバーの起動/停止用のシェルスクリプト
gunicornでデーモン状態にしている。
startで起動、stopで終了、restartでstop+start。

#!/bin/sh
PROGNAME=`basename $0`
BASEDIR=`dirname $0`
PIDFILE=$BASEDIR/$PROGNAME.pid

start() {
  echo "Starting server..."
  cd $BASEDIR
  gunicorn flaskhello:app -p $PIDFILE -D
}

stop() {
  echo "Stopping server..."
  kill -TERM `cat $PIDFILE`
  rm -f $PIDFILE
}

usage() {
  echo "usage: $PROGNAME start|stop|restart"
}

if [ $# -lt 1 ];  then
  usage
  exit 255
fi

case $1 in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
esac

しばしば使う機会があるのでコピペ用。
動作するサンプルコードはbitbucketに置いた。
https://bitbucket.org/tokibito/sample_nullpobug/src/0213b46ec2b6/python/flaskhello