Skip to content

Instantly share code, notes, and snippets.

@mgosk
Created November 24, 2015 21:59
Show Gist options
  • Save mgosk/f374c370c540a19ec7b0 to your computer and use it in GitHub Desktop.
Save mgosk/f374c370c540a19ec7b0 to your computer and use it in GitHub Desktop.
#! /bin/bash
### BEGIN INIT INFO
# Provides: ${{app_name}}
# Required-Start: ${{start_facilities}}
# Required-Stop: ${{stop_facilities}}
# Default-Start: ${{start_runlevels}}
# Default-Stop: ${{stop_runlevels}}
# Short-Description: ${{descr}}
### END INIT INFO
source /lib/init/vars.sh
source /lib/lsb/init-functions
# adding bashScriptEnvConfigLocation
[[ -f ${{env_config}} ]] && . ${{env_config}}
# $JAVA_OPTS used in $RUN_CMD wrapper
export JAVA_OPTS
PIDFILE=/var/run/${{app_name}}/running.pid
if [ -z "$DAEMON_USER" ]; then
DAEMON_USER=${{daemon_user}}
fi
if [ -z "$DAEMON_GROUP" ]; then
DAEMON_GROUP=${{daemon_group}}
fi
RUN_CMD="${{chdir}}/bin/${{exec}}"
LOG_FILE=/var/log/${{app_name}}/console.log
start_daemon() {
log_daemon_msg "Starting" "${{app_name}}"
[ -d "/var/run/${{app_name}}" ] || install -d -o "$DAEMON_USER" -g "$DAEMON_GROUP" -m755 "/var/run/${{app_name}}"
start-stop-daemon --background --chdir ${{chdir}} --chuid "$DAEMON_USER" --make-pidfile --pidfile "$PIDFILE" --startas "$RUN_CMD" --start -- $RUN_OPTS
log_end_msg $?
}
stop_daemon() {
log_daemon_msg "Stopping" "${{app_name}}"
start-stop-daemon --stop --quiet --oknodo --pidfile "$PIDFILE" --retry=TERM/${{term_timeout}}/KILL/${{kill_timeout}}
log_end_msg $?
rm -f "$PIDFILE"
}
case "$1" in
start)
start_daemon
exit $?
;;
stop)
stop_daemon
exit $?
;;
restart|force-reload)
stop_daemon
start_daemon
exit $?
;;
status)
status_of_proc -p "$PIDFILE" "$RUN_CMD" ${{app_name}} && exit 0 || exit $?
;;
*)
log_daemon_msg "Usage: /etc/init.d/${{app_name}} {start|stop|restart|status}"
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment