#!/bin/sh # chkconfig: - 85 15 # description: Use uwsgi to run python and wsgi web apps. # processname: uwsgi # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 uwsgi="/bin/uwsgi" prog=$(basename $uwsgi) UWSGI_CONF_FILE="/src/uWSGI/production.ini" lockfile=/var/run/uwsgi.lock pidfile=/var/run/uwsgi.pid start() { [ -x $uwsgi ] || exit 5 [ -f $UWSGI_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $uwsgi -c --ini $UWSGI_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile && rm -f $pidfile # NOTE: O processo abaixo ocorre enquanto o serviço estiver rodando! Evita # que o comando "start" seja disparado com o serviço ainda rodando! # By Questor i="0" while rh_status_q && [ ! $i -eq 10 ] do sleep 1 i=$[$i+1] done return $retval } restart() { stop sleep 5 start } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; status) rh_status ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 2 ;; esac