|
|
|
|
@ -25,73 +25,90 @@ NPROC=1
|
|
|
|
|
OPTIONS="--listen $USOCKET --daemon --pidfile $PIDFILE --nproc $NPROC"
|
|
|
|
|
|
|
|
|
|
check_running() {
|
|
|
|
|
[ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1
|
|
|
|
|
if [ -s $PIDFILE ]; then
|
|
|
|
|
kill -0 $(cat $PIDFILE) >/dev/null 2>&1
|
|
|
|
|
else
|
|
|
|
|
PID=`pidofproc $DAEMON`
|
|
|
|
|
if [ -z "$PID" ]; then
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_start() {
|
|
|
|
|
rm -f $PIDFILE 2>/dev/null
|
|
|
|
|
start-stop-daemon --start --quiet --pidfile $PIDFILE \
|
|
|
|
|
--exec $DAEMON --chdir $HOMEDIR \
|
|
|
|
|
--user $USER --group $GROUP \
|
|
|
|
|
-- $OPTIONS || log_failure_msg "error"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
start() {
|
|
|
|
|
log_daemon_msg "Starting $DESC: $NAME"
|
|
|
|
|
if check_running; then
|
|
|
|
|
log_progress_msg "already running"
|
|
|
|
|
log_end_msg 0
|
|
|
|
|
exit 0
|
|
|
|
|
rm -f $PIDFILE 2>/dev/null
|
|
|
|
|
start-stop-daemon --start --quiet \
|
|
|
|
|
--pidfile $PIDFILE \
|
|
|
|
|
--exec $DAEMON --chdir $HOMEDIR \
|
|
|
|
|
--user $USER --group $GROUP \
|
|
|
|
|
-- $OPTIONS || log_failure_msg "error"
|
|
|
|
|
sleep 1
|
|
|
|
|
if check_running ; then
|
|
|
|
|
return 0
|
|
|
|
|
else
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
_start
|
|
|
|
|
log_end_msg $?
|
|
|
|
|
return $?
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_stop() {
|
|
|
|
|
if ! check_running ; then
|
|
|
|
|
log_progress_msg " not running"
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
if [ -e $PIDFILE ]; then
|
|
|
|
|
if ! check_running ; then
|
|
|
|
|
log_daemon_msg " not running"
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
kill `cat $PIDFILE`;
|
|
|
|
|
for i in 1 2 3 4 5 6 7; do
|
|
|
|
|
echo -n "."
|
|
|
|
|
sleep 1;
|
|
|
|
|
if check_running ; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
if check_running ; then
|
|
|
|
|
return 1;
|
|
|
|
|
else
|
|
|
|
|
PID=`pidofproc $DAEMON`
|
|
|
|
|
if [ -n "$PID" ]; then
|
|
|
|
|
kill $PID
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
stop() {
|
|
|
|
|
log_daemon_msg "Stopping $DESC: $NAME"
|
|
|
|
|
_stop
|
|
|
|
|
log_end_msg $?
|
|
|
|
|
return $?
|
|
|
|
|
for i in 1 2 3 4 5 6 7; do
|
|
|
|
|
log_progress_msg "."
|
|
|
|
|
sleep 1;
|
|
|
|
|
if ! check_running ; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
if check_running ; then
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
|
start)
|
|
|
|
|
start
|
|
|
|
|
log_daemon_msg "Starting $DESC: $NAME"
|
|
|
|
|
if check_running; then
|
|
|
|
|
log_progress_msg "already running"
|
|
|
|
|
log_end_msg 0
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
_start; status="$?"
|
|
|
|
|
log_end_msg $status
|
|
|
|
|
exit $status
|
|
|
|
|
;;
|
|
|
|
|
stop)
|
|
|
|
|
stop
|
|
|
|
|
log_daemon_msg "Stopping $DESC: $NAME"
|
|
|
|
|
_stop; status="$?"
|
|
|
|
|
log_end_msg $status
|
|
|
|
|
exit $status
|
|
|
|
|
;;
|
|
|
|
|
restart|force-reload)
|
|
|
|
|
log_daemon_msg "Restarting web application" $NAME
|
|
|
|
|
_stop
|
|
|
|
|
_start
|
|
|
|
|
log_end_msg $?
|
|
|
|
|
return $?
|
|
|
|
|
_stop; status="$?"
|
|
|
|
|
if [ "$status" = 0 ]; then
|
|
|
|
|
_start; status="$?"
|
|
|
|
|
fi
|
|
|
|
|
log_end_msg $status
|
|
|
|
|
exit $status
|
|
|
|
|
;;
|
|
|
|
|
status)
|
|
|
|
|
log_daemon_msg "Status of $DESC: "
|
|
|
|
|
status_of_proc -p$PIDFILE $DAEMON $NAME
|
|
|
|
|
if [ -s $PIDFILE ]; then
|
|
|
|
|
status_of_proc -p$PIDFILE $DAEMON $NAME
|
|
|
|
|
else
|
|
|
|
|
status_of_proc $DAEMON $NAME
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
N=/etc/init.d/$NAME
|
|
|
|
|
|