diff options
Diffstat (limited to 'extras/init.d')
-rw-r--r-- | extras/init.d/Makefile.am | 7 | ||||
-rwxr-xr-x | extras/init.d/glusterfsd | 89 |
2 files changed, 20 insertions, 76 deletions
diff --git a/extras/init.d/Makefile.am b/extras/init.d/Makefile.am index 608b5bb2d4d..73e9745cda1 100644 --- a/extras/init.d/Makefile.am +++ b/extras/init.d/Makefile.am @@ -3,7 +3,10 @@ EXTRA_DIST = glusterfsd glusterfs-server glusterfs-server.plist CLEANFILES = -install-data-am: +initdir = $(sysconfdir)/init.d +init_DATA = glusterfsd + +install-data-local: if GF_DARWIN_HOST_OS - cp glusterfs-server.plist /Library/LaunchDaemons/com.zresearch.glusterfs.plist + cp glusterfs-server.plist /Library/LaunchDaemons/com.zresearch.glusterfs.plist endif diff --git a/extras/init.d/glusterfsd b/extras/init.d/glusterfsd index 866a0010e9a..992513157df 100755 --- a/extras/init.d/glusterfsd +++ b/extras/init.d/glusterfsd @@ -5,88 +5,29 @@ # # Get function from functions library -# . /etc/rc.d/init.d/functions +. /etc/rc.d/init.d/functions BASE=glusterfsd -GSERVER="/sbin/$BASE -f /etc/glusterfs/glusterfs-server.vol" - -# A function to stop gluster -killgluster() -{ - killlevel="-9" - # Find pid. - pid= - if [ -f /var/run/$BASE.pid ]; then - local line p - read line < /var/run/$BASE.pid - for p in $line ; do - [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid -$p" - done - fi - if [ -z "$pid" ]; then - pid=`pidof -o $$ -o $PPID -o %PPID -x $1 || \ - pidof -o $$ -o $PPID -o %PPID -x $BASE` - fi - # Kill it. - kill $killlevel $pid - if [ "$?" = 0 ] - then - echo "Gluster process $pid has been killed" - initlog -n "Kill gluster" -e 1 - else - echo "Failed: Gluster process $pid has not been killed" - initlog -n "Kill gluster" -e 2 - fi - - # Remove pid and lock file if any. - if [ -f /var/run/$BASE.pid ] - then - rm -f /var/run/$BASE.pid && initlog -n "Remove $BASE.pid:" -e -1 - else echo "$BASE.pid not found" && initlog -n "Remove -$BASE.pid:" -e 2 - fi - - if [ -f /var/lock/subsys/$BASE ] - then - rm -f /var/lock/subsys/$BASE && initlog -n "Remove $BASE lock -file:" -e 1 - else echo "$BASE lock file not found" && initlog -n "Remove -$BASE lock file:" -e 2 - fi -} +GSERVER="/usr/sbin/$BASE -f /etc/glusterfs/glusterfsd.vol" +RETVAL=0 # Start the service $BASE start() { - initlog -c "echo -n Starting $BASE:" - $GSERVER - if [ $? = 0 ] - then - touch /var/lock/subsys/$BASE - initlog -n "Starting $BASE" -e 1 - echo " [OK]" - else - echo "$BASE start failed." - initlog -n "$BASE start" -e 2 - fi + echo -n $"Starting $BASE:" + daemon $GSERVER + RETVAL=$? + [ $RETVAL -ne 0 ] && exit $RETVAL } # Stop the service $BASE stop() { - echo "Stopping $BASE:" - killgluster -} -status() -{ - if test "`lsof |grep -c /sbin/$BASE`" = "0" - then echo "$BASE is stopped." - else echo "$BASE is running..." - fi + echo $"Stopping $BASE:" + killproc $BASE } + ### service arguments ### case $1 in start) @@ -96,14 +37,14 @@ case $1 in stop ;; status) - status + status $BASE ;; - restart|reload|condrestart) - stop - start + restart) + $0 stop + $0 start ;; *) - echo $.Usage: $0 {start|stop|restart|reload|status}. + echo $"Usage: $0 {start|stop|status|restart}." exit 1 esac |