supervisorの起動スクリプト

supervisorの最新版をeasy_installでインストールしたら起動スクリプトがなかったので簡単なやつを書いた。centos6.7で /etc/init.d/supervisord として配置する。

#!/bin/sh
#
# supervisord - this script starts and stops supervisord
#
# chkconfig: 35 80 20
# description: Autostart supervisord.

# Source function library.
. /etc/rc.d/init.d/functions

supervisorctl="/usr/bin/supervisorctl"
supervisord="/usr/bin/supervisord"
name="supervisor"

[ -f $supervisord ] || exit 1
[ -f $supervisorctl ] || exit 1

RETVAL=0

start() {
    echo -n "Starting $name: "
    $supervisord -c /etc/supervisord.conf
    RETVAL=$?
    if [ $RETVAL -eq 0 ]
    then
        echo -e "SUCCESS"
    else
        echo -e "FAILED"
    fi
    return $RETVAL
}

stop() {
    echo -n "Stopping $name: "
    $supervisorctl shutdown
    RETVAL=$?
    if [ $RETVAL -eq 0 ]
    then
        echo -e "SUCCESS"
    else
        echo -e "FAILED"
    fi
    return $RETVAL
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        $supervisorctl status
        ;;
esac

exit $RETVAL

参考

takayukinakata.hatenablog.com