coherence revision 18861
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina#!/bin/bash
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina. /lib/svc/share/smf_include.sh
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina# Get the value of a property defined in the service xml.
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinagetproparg() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina val=`svcprop -p $1 coherence`
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina [ -n "$val" ] && echo $val
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel BřezinaPROGNAME=coherence
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel BřezinaCONFIGFILE=`getproparg coherence/config`
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel BřezinaDATADIR=`getproparg coherence/data`
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel BřezinaLOCKFILE=${DATADIR}/`/usr/bin/uname -n`.lock
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaif [ -z ${DATADIR} ]; then
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina echo "coherence/data property not set"
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina exit $SMF_EXIT_ERR_CONFIG
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinafi
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaif [ ! -d ${DATADIR} ]; then
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina echo "coherence/data directory ${DATADIR} is not a valid directory"
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina exit $SMF_EXIT_ERR_CONFIG
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinafi
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel BřezinaRETVAL=0
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
04e870d99e72aa3160bdb6ab05d986fb4005c3edPavel Březinastart() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina # Check if it is already running
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina if [ ! -f ${LOCKFILE} ]; then
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina echo "Starting: " /usr/bin/$PROGNAME -c $CONFIGFILE
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina $PROGNAME -o use_dbus:yes -o controlpoint:yes -c $CONFIGFILE &
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina RETVAL=$?
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina [ ${RETVAL} -eq 0 ] && touch ${LOCKFILE}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina echo
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina fi
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return $RETVAL
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastop() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina echo "Stopping: " $PROGNAME
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina pkill -f -U upnp /usr/bin/$PROGNAME
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina pgrep -f /usr/bin/$PROGNAME
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina RETVAL=$?
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina rm -f ${LOCKFILE}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina RETVAL=$?
3d29430867cf92b2d71afa95abb679711231117cPavel Březina return $RETVAL
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinarestart() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina $0 stop
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina $0 start
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinareload() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina trap "" SIGHUP
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina killall -HUP $PROGNAME
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina rm -f ${LOCKFILE}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinacase "$1" in
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastart)
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina start
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina ;;
dc30c60f166ad9adc63a47a1013508a71624ac87Petr Cechstop)
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina stop
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina ;;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinareload)
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina reload
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina ;;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinarestart)
dc30c60f166ad9adc63a47a1013508a71624ac87Petr Cech restart
dc30c60f166ad9adc63a47a1013508a71624ac87Petr Cech ;;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinacondrestart)
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina if [ -f ${LOCKFILE} ]; then
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina restart
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina fi
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina ;;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinastatus)
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina status $PROGNAME
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina ;;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina*)
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina INITNAME=`basename $0`
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" "$INITNAME"
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina exit 1
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaesac
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaexit $RETVAL
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina