[mapguide-commits] r8970 - in branches/3.1/MgDev: . Server/src/Core

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed May 25 08:07:47 PDT 2016


Author: jng
Date: 2016-05-25 08:07:47 -0700 (Wed, 25 May 2016)
New Revision: 8970

Modified:
   branches/3.1/MgDev/
   branches/3.1/MgDev/Server/src/Core/mapguidectl
Log:
Merged revision(s) 8969 from trunk/MgDev:
#2527: Improve mgserver service control script:
 - define log_end_msg if not defined in lsb functions (as in CentOS 6)
 - define status and restart actions
 - exit with failures if something goes wrong
 - warn user if trying to start MapGuide and it is already running
 - warn user if trying to stop MapGuide and it is not running
 - No bash-isms, allowing it to work in base un-configured Ubuntu (whose default shell is dash, not bash)

Patch by Gabriele Monfardini, tested by me.
........



Property changes on: branches/3.1/MgDev
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/branches/2.6/MgDev:8276-8286,8288-8292,8297,8299,8301,8303,8314-8315,8318,8335,8340,8354-8355,8365,8373
/branches/3.0/MgDev:8658,8705,8710
/sandbox/VC140:8684-8759
/sandbox/adsk/2.6l:8727
/sandbox/adsk/3.0m:8563,8584,8607,8625,8694-8695
/sandbox/adsk/3.1n:8871,8895,8901,8912-8913,8921-8922,8942
/sandbox/jng/convenience_apis:8262-8268,8271-8363
/sandbox/jng/createruntimemap:7486-7555
/sandbox/jng/dwftk:8321-8324,8328-8329,8331,8352
/sandbox/jng/geos34x:8256-8259
/sandbox/jng/rfc155:8872-8884
/sandbox/jng/tiling:8174-8208
/sandbox/jng/v30:8212-8227
/sandbox/rfc94:5099-5163
/trunk/MgDev:8955-8956
   + /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/branches/2.6/MgDev:8276-8286,8288-8292,8297,8299,8301,8303,8314-8315,8318,8335,8340,8354-8355,8365,8373
/branches/3.0/MgDev:8658,8705,8710
/sandbox/VC140:8684-8759
/sandbox/adsk/2.6l:8727
/sandbox/adsk/3.0m:8563,8584,8607,8625,8694-8695
/sandbox/adsk/3.1n:8871,8895,8901,8912-8913,8921-8922,8942
/sandbox/jng/convenience_apis:8262-8268,8271-8363
/sandbox/jng/createruntimemap:7486-7555
/sandbox/jng/dwftk:8321-8324,8328-8329,8331,8352
/sandbox/jng/geos34x:8256-8259
/sandbox/jng/rfc155:8872-8884
/sandbox/jng/tiling:8174-8208
/sandbox/jng/v30:8212-8227
/sandbox/rfc94:5099-5163
/trunk/MgDev:8955-8956,8969

Modified: branches/3.1/MgDev/Server/src/Core/mapguidectl
===================================================================
--- branches/3.1/MgDev/Server/src/Core/mapguidectl	2016-05-25 15:04:48 UTC (rev 8969)
+++ branches/3.1/MgDev/Server/src/Core/mapguidectl	2016-05-25 15:07:47 UTC (rev 8970)
@@ -1,33 +1,81 @@
 #!/bin/sh
+# chkconfig: 345 35 65
+# description: MapGuide Server Daemon
+ 
 # MapGuide init script
 . /lib/lsb/init-functions
+ 
+# Defined here for distributions that don't define log_end_msg
+type log_end_msg > /dev/null 2>&1 || log_end_msg () {
+  retval=$1
+  if [ $retval -eq 0 ]; then
+    log_success_msg
+  else
+    log_failure_msg
+  fi
+  return $retval
+}
 
+progname="mgserver"
+fullprogname="mgserver daemon"
+
+do_start () {
+  echo -n "Starting MapGuide Server..."
+  pid=$(pgrep -f -u root "${fullprogname}")
+  ret=0
+  if [ -z "$pid" ]
+  then
+    cd /usr/local/mapguideopensource/server/bin && ./mgserverd.sh > /dev/null 
+    ret=$?
+  else
+    echo 
+    echo -n "MapGuide Server already running (pid $pid)"
+  fi
+  log_end_msg $ret
+}
+
+do_stop () {
+  echo -n "Stopping MapGuide Server"
+  pid=$(pgrep -f -u root "${fullprogname}")
+  ret=0
+  if [ -z "$pid" ]
+  then
+    echo 
+    echo -n "MapGuide Server not running"
+  else
+    /bin/kill $pid
+    ret=$?
+  fi
+  log_end_msg $ret
+}
+
+ 
 # Must be superuser
-if [[ $EUID -ne 0 ]]; then
-    echo "You must have superuser privileges to run this script"
-    exit 1
+if [ $(id -u) -ne 0 ]; then
+  log_failure_msg "You must have superuser privileges to run this script"
+  exit 1
 fi
-
+ 
 case "$1" in
- start)
-   log_daemon_msg "Starting MapGuide Server"
-   pushd /usr/local/mapguideopensource/server/bin > /dev/null
-   ./mgserverd.sh
-   popd > /dev/null
-   log_end_msg 0
-   ;;
- stop)
-   log_daemon_msg "Stopping MapGuide Server"
-   MGPROCESS=`/usr/bin/pgrep -f -u root "mgserver daemon"`
-   if [ "$MGPROCESS" != "" ]
-   then
-     /bin/kill $MGPROCESS
-   fi
-   log_end_msg 0
-   ;;
- *)
-   echo "Usage: $0 {start|stop}"
-   exit 1
-   ;;
+  start)
+    do_start
+    ;;
+  stop)
+    do_stop
+    ;;
+  status)
+    pid=$(pgrep -f -u root "${fullprogname}")
+    [ -z "$pid" ] && echo "$progname is stopped" && RETVAL=3 && exit $RETVAL
+    echo "$progname (pid $pid) is running..."
+    ;;
+  restart)
+    do_stop
+    sleep 2
+    do_start
+    ;;
+  *)
+    echo "Usage: $0 {start|stop|status|restart}"
+    exit 1
+    ;;
 esac
 exit 0



More information about the mapguide-commits mailing list