templates/bin/stopserv.template

branch
srvctrl
changeset 175
9823770ba4ee
parent 47
ce9790523346
--- a/templates/bin/stopserv.template	Sun Feb 19 11:56:39 2017 +0100
+++ b/templates/bin/stopserv.template	Mon Mar 06 15:43:28 2017 +0100
@@ -1,6 +1,56 @@
 #!/bin/sh
 
-PID=`cat /tmp/webserver-rw6pgl8b/pid`
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2017 Olaf Wintermann. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
 
-kill -TERM $PID
+WS_INSTALL_DIR=%%WS_INSTALL_DIR%%
+
+cd $WS_INSTALL_DIR
+
+WS_TMP_DIR=`bin/wstool -t config/server.conf`
+if [ $? -ne 0 ]; then
+	exit 1
+fi
 
+WS_PID=`cat $WS_TMP_DIR/pid 2> /dev/null`
+if [ $? -ne 0 ]; then
+	echo "cannot get server pid"
+	exit 1
+fi
+if [ -z $WS_PID ]; then
+	echo "cannot get server pid"
+	exit 1
+fi
+
+kill -0 $WS_PID 2> /dev/null
+if [ $? -ne 0 ]; then
+	echo "server not running"
+	exit 1
+fi
+
+bin/wstool -s $WS_TMP_DIR/private/srvctrl.sock shutdown

mercurial