X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=zabbix_server.init;h=a5c5f56216a7fa54f808f0e2cafdfaf6c63b8c19;hb=df3f9c3f967a1ee58138a46fc78acc154e13890a;hp=e98e12137f836495e770e863cabc6f217a0eda98;hpb=edf82675e427f6cb749f8e3802c7d8879b883b6e;p=packages%2Fzabbix.git diff --git a/zabbix_server.init b/zabbix_server.init old mode 100755 new mode 100644 index e98e121..a5c5f56 --- a/zabbix_server.init +++ b/zabbix_server.init @@ -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 }