# PID directory
-pidfile="/var/run/mcollective.pid"
+pidfile="/var/run/mcollectived.pid"
name="mcollective"
mcollectived=/usr/sbin/mcollectived
-daemonopts="--config=/etc/mcollective/server.cfg"
+daemonopts="--pid=${pidfile} --config=/etc/mcollective/server.cfg"
# Source function library.
exit 5
fi
+# create pid file if it does not exist
+[ ! -f ${pidfile} ] && { touch ${pidfile} ; }
+
# See how we were called.
case "$1" in
start)
echo "Starting daemon: " $name
# start the program
- if [ -f $pidfile ]; then
- if [ -f "$(cat /proc/$(cat $pidfile)/exe > /dev/null)" ] ; then
- echo MCollective appears to be running
- exit 1
- else
- /sbin/start-stop-daemon --start -b --quiet --oknodo -m --pidfile $pidfile --exec $mcollectived -- $daemonopts
- [ $? = 0 ] && { exit 0 ; } || { exit 1 ; }
- fi
- else
- /sbin/start-stop-daemon --start -b --quiet --oknodo -m --pidfile $pidfile --exec $mcollectived -- $daemonopts
- fi
+ start-stop-daemon -S -p ${pidfile} --oknodo -q -a ${mcollectived} -- ${daemonopts}
+ [ $? = 0 ] && { exit 0 ; } || { exit 1 ; }
log_success_msg "mcollective started"
+ touch $lock
;;
stop)
echo "Stopping daemon: " $name
- /sbin/start-stop-daemon --stop -q --pidfile $pidfile
- if [ -f $pidfile ]; then
- rm -f $pidfile
- fi
+ start-stop-daemon -K -R 5 -s "TERM" --oknodo -q -p ${pidfile}
[ $? = 0 ] && { exit 0 ; } || { exit 1 ; }
log_success_msg "mcollective stopped"
;;
$0 start
[ $? = 0 ] && { echo "mcollective restarted" ; exit 0 ; }
;;
+ condrestart)
+ if [ -f $lock ]; then
+ $0 stop
+ # avoid race
+ sleep 2
+ $0 start
+ fi
+ ;;
+ force-reload)
+ echo "not implemented"
+ ;;
status)
status_of_proc -p ${pidfile} ${mcollectived} ${name} && exit 0 || exit $?
;;