@@ -34,19 +34,21 @@ LOGFILE="/var/log/${PROG}.log"
3434EXEC=" ${CURDIR} /${PROG} .py"
3535CONFFILE=" ${CURDIR} /conf/${PROG} .conf"
3636DISPTYPE=" redis"
37+ ACTION=" "
3738
3839[ -e /etc/sysconfig/$PROG ] && . /etc/sysconfig/$PROG
3940
4041usage () {
4142 cat << USAGE
42- Usage: bash ${MYNAME} [-h] [-c CONFIG] [-l OUTPUT] [-P PID]
43+ Usage: bash ${MYNAME} [-h] [-c CONFIG] [-l OUTPUT] [-P PID] -d
4344 [-t {mqtt,rabbitmq,redis,sqs,stdout,tcp,udp,zmq,http}]
4445 action {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
4546
4647Beaver control scripts.
4748
4849Optional arguments:
4950 -h, --help show this help message and exit
51+ -d, --debug open debug mode
5052 -c CONFIG ini config file, default: ${CONFFILE}
5153 -l OUTPUT, -o OUTPUT file to pipe output to, default: ${LOGFILE}
5254 -P PID path to pid file, default: ${PIDFILE}
@@ -89,6 +91,10 @@ parse_options() {
8991 usage
9092 exit
9193 ;;
94+ -d|--debug)
95+ DEBUG=1
96+ shift
97+ ;;
9298 --)
9399 shift
94100 argv=(" ${argv[@]} " " ${@ } " )
@@ -134,7 +140,11 @@ start() {
134140
135141 echo -n $" Starting $PROG : "
136142 # if not running, start it up here, usually something like "daemon $exec"
137- daemon ${PYTHON} ${EXEC} -c ${CONFFILE} -t ${DISPTYPE} -P ${PIDFILE} -D -l ${LOGFILE}
143+ if [ x" $DEBUG " == " x" ]; then
144+ daemon ${PYTHON} ${EXEC} -c ${CONFFILE} -t ${DISPTYPE} -P ${PIDFILE} -D -l ${LOGFILE}
145+ else
146+ daemon ${PYTHON} ${EXEC} -c ${CONFFILE} -t ${DISPTYPE} -P ${PIDFILE} -D -l ${LOGFILE} -d
147+ fi
138148 retval=$?
139149 echo
140150 # [ $retval -eq 0 ] && touch $lockfile
@@ -151,11 +161,40 @@ stop() {
151161 return $retval
152162}
153163
154- restart () {
164+ pstatus () {
165+ if pgrep -f " ${PYTHON} ${EXEC} " > /dev/null; then
166+ echo " $PROG " running
167+ return 0
168+ fi
169+ return 1
170+ }
171+
172+ forcestop () {
173+ echo " Stopping $PROG "
174+ pkill $1 -f " ${PYTHON} ${EXEC} "
175+ }
176+
177+ forcerestart () {
155178 stop
179+ try=1
180+ sleep 1
181+ while pstatus; do
182+ try=$(( try + 1 ))
183+ if [ $try -gt 3 ]; then
184+ forcestop -9
185+ else
186+ forcestop
187+ fi
188+ echo " Waiting for $PROG to die.."
189+ sleep 5
190+ done
156191 start
157192}
158193
194+ restart () {
195+ forcerestart
196+ }
197+
159198reload () {
160199 restart
161200}
0 commit comments