#!/bin/bash ### BEGIN INIT INFO # Provides: ocoin # Required-Start: networking # Required-Stop: networking # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: OpenSource Coin Start and Shutdown Script # Description: This file will manage the OpenSource Coin service and must be # placed in /etc/init.d. ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Start OpenSource Coin Server" NAME=ocoin PIDFILE=/var/db/ocoin/ocoin.pid DAEMON=/usr/local/OSC/Ocoind DAEMON_ARGS="" SCRIPTNAME=/etc/init.d/$0 DEFAULT_CONF=/etc/default/ocoin . /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 unobtanium > /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 Ocoind" 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 Ocoind" 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 Ocoind" 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 Ocoind" 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 Ocoind" 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 Ocoind" 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 Ocoind" 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 "OpenSource Coin is running." ;; 1) echo "OpenSource Coin dead, but $PIDFILE exists." ;; *) echo "OpenSource Coin 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}