#!/bin/bash ### BEGIN INIT INFO # Provides: zetacoin # Required-Start: networking # Required-Stop: networking # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Zetacoin Start and Shutdown Script # Description: This file will manage the Zetacoin service and must be # placed in /etc/init.d. ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Start ZetaCoin Server" NAME=zetacoin PIDFILE=/var/db/zetacoin/zetacoind.pid DAEMON=/usr/local/zetacoin/zetacoind DAEMON_ARGS="" SCRIPTNAME=/etc/init.d/$0 DEFAULT_CONF=/etc/default/zetacoin . /lib/init/vars.sh . /lib/lsb/init-functions # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 if [ -f ${DEFAULT_CONF} ] then . ${DEFAULT_CONF} fi set -e # # Function that starts the daemon/service # do_start() { RESULT=0 if [ "${ENABLE}" = "yes" ] then /bin/su ${RUNUSER} -c "/usr/bin/nice -n ${NICE_VAL} ${DAEMON} -datadir=${DATADIR} -conf=${SERVER_CONF} 1>/dev/null" RESULT=$? /bin/sleep 4 else log_progress_msg "The daemon is disabled check the settings in the configuration file ${DEFAULT_CONF}" RESULT=1 fi return ${RESULT} } # # Function that stops the daemon/service # do_stop() { RESULT=0 if [ "${ENABLE}" = "yes" ] then /bin/su ${RUNUSER} -c "${DAEMON} -datadir=${DATADIR} -conf=${SERVER_CONF} stop 1>/dev/null" RESULT=$? /bin/sleep 9 else log_progress_msg "The daemon is disabled check the settings in the configuration file ${DEFAULT_CONF}" RESULT=1 fi return ${RESULT} } # # Function that sends a SIGHUP to the daemon/service # do_reload() { do_stop /bin/sleep 4 do_start } do_status() { if [ ! -f $PIDFILE ] ; then # program not running return 3 fi for pid in $(cat $PIDFILE) ; do if ! ps --no-headers p "$pid" | grep zetacoin > /dev/null ; then # program running, bogus pidfile return 1 fi done return 0 } force_start() { RESULT=0 /bin/su ${RUNUSER} -c "/usr/bin/nice -n ${NICE_VAL} ${DAEMON} -datadir=${DATADIR} -conf=${SERVER_CONF} 1>/dev/null" RESULT=$? /bin/sleep 4 return ${RESULT} } force_stop() { RESULT=0 /bin/su ${RUNUSER} -c "${DAEMON} -datadir=${DATADIR} -conf=${SERVER_CONF} stop 1>/dev/null" RESULT=$? /bin/sleep 9 return ${RESULT} } force_restart() { force_stop /bin/sleep 4 force_start } RESULT=0 case "$1" in start) log_daemon_msg "${NAME}" log_progress_msg "Start zetacoind" do_start RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "${NAME}" log_progress_msg "Stop zetacoind" do_stop RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; force-start) log_daemon_msg "${NAME}" log_progress_msg "Force start zetacoind" force_start RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; force-stop) log_daemon_msg "${NAME}" log_progress_msg "Force stop zetacoind" force_stop RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; reload|force-reload) log_daemon_msg "${NAME}" log_progress_msg "Reload zetacoind" do_reload RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; restart|force-reload) log_daemon_msg "${NAME}" log_progress_msg "Restart zetacoind" do_reload RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; force-restart) log_daemon_msg "${NAME}" log_progress_msg "Force restart zetacoind" force_restart RESULT=$? case ${RESULT} in 0) log_end_msg 0 ;; 1) log_end_msg 0 ;; 2) log_end_msg 1 ;; *) log_end_msg 1 ;; esac ;; status) do_status ret=$? case "$ret" in 0) echo "zetacoin is running." ;; 1) echo "zetacoin dead, but $PIDFILE exists." ;; *) echo "zetacoin not running." ;; esac exit $ret ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|force-start|force-stop|force-restart|status}" >&2 exit 3 ;; esac exit ${RESULT}