]> TLD Linux GIT Repositories - packages/zabbix.git/blobdiff - zabbix_server.init
- wait for Zabbix server proces to exit when stopping service
[packages/zabbix.git] / zabbix_server.init
old mode 100755 (executable)
new mode 100644 (file)
index e98e121..a5c5f56
@@ -27,6 +27,9 @@ fi
 # Get service config - may override defaults
 [ -f /etc/sysconfig/zabbix_server ] && . /etc/sysconfig/zabbix_server
 
+# Set default shutdown timeout if it is not set in service config
+ZABBIX_SHUTDOWN_TIMEOUT=${ZABBIX_SHUTDOWN_TIMEOUT:-60}
+
 pidfile="/var/run/zabbix/zabbix_server.pid"
 
 start() {
@@ -51,6 +54,24 @@ stop() {
        # Stop daemons.
        msg_stopping "Zabbix Server"
        killproc --pidfile $pidfile zabbix_server -TERM
+
+       if [ -f "$pidfile" ]; then
+               show "Waiting for Zabbix Server to stop"
+               busy
+
+               timeout=0
+               while : ; do
+                       [ ! -f "$pidfile" ] || break
+                       if [ $timeout -ge $ZABBIX_SHUTDOWN_TIMEOUT ]; then
+                               RETVAL=1
+                               break
+                       fi
+                       sleep 1 && echo -n "."
+                       timeout=$((timeout+1))
+               done
+               ok
+       fi
+
        rm -f /var/lock/subsys/zabbix_server
 }