Skip to content

Commit d1a43a5

Browse files
committed
update beaver_control add forcestop for not stop complete.
1 parent 604a26d commit d1a43a5

File tree

1 file changed

+42
-3
lines changed

1 file changed

+42
-3
lines changed

bashrc/beaver_control

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,21 @@ LOGFILE="/var/log/${PROG}.log"
3434
EXEC="${CURDIR}/${PROG}.py"
3535
CONFFILE="${CURDIR}/conf/${PROG}.conf"
3636
DISPTYPE="redis"
37+
ACTION=""
3738

3839
[ -e /etc/sysconfig/$PROG ] && . /etc/sysconfig/$PROG
3940

4041
usage() {
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
4647
Beaver control scripts.
4748
4849
Optional 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+
159198
reload() {
160199
restart
161200
}

0 commit comments

Comments
 (0)