Debian: Added foreground init helper to debug Icinga 2.

Refs #5305
This commit is contained in:
Markus Frosch 2013-12-11 16:07:46 +01:00
parent 6200c8164c
commit f2909b80fd
1 changed files with 46 additions and 1 deletions

View File

@ -73,6 +73,18 @@ do_start()
# on this one. As a last resort, sleep for some time.
}
#
# Function that starts the daemon/service in foreground for debugging
#
do_foreground()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test \
|| return 1
start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON -- \
-c "$DAEMON_CONFIG" -u "$DAEMON_USER" -g "$DAEMON_GROUP" $DAEMON_ARGS \
|| return 2
}
#
# Function that stops the daemon/service
#
@ -138,6 +150,39 @@ case "$1" in
2) log_end_msg 1 ;;
esac
;;
foreground)
do_check_config
log_action_msg "Starting $DESC in foreground"
status=0
trap 'status=2;' INT # handle intr here
for i in 1 2; do
do_foreground || status="$?"
case "$status" in
0)
log_success_msg "$NAME ended graceful"
break
;;
1)
if [ "$i" -eq 1 ]; then
log_warning_msg "$NAME already running!"
log_begin_msg "Do you want to stop $NAME before going foreground? [y/N] "
read -r question
if [ "$question" = "y" ] || [ "$question" = "yes" ]; then
do_stop
continue
fi
fi
log_failure_msg "$NAME already running! Please stop before starting in foreground!"
break
;;
2)
log_failure_msg "$NAME ended"
break
;;
esac
done
exit $status
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
@ -178,7 +223,7 @@ case "$1" in
do_check_config 1
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|reload|force-reload|restart|checkconfig}" >&2
echo "Usage: $SCRIPTNAME {start|stop|status|reload|force-reload|restart|checkconfig|foreground}" >&2
exit 3
;;
esac