MT#4281 fix return value of init script.

Version from www_csc
agranig/peering-route
Victor Seva 12 years ago
parent eece093fd0
commit 1a5ff7bf45

@ -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

Loading…
Cancel
Save