X-Git-Url: https://git.tld-linux.org/?p=packages%2Fzabbix.git;a=blobdiff_plain;f=zabbix_server.init;fp=zabbix_server.init;h=a5c5f56216a7fa54f808f0e2cafdfaf6c63b8c19;hp=e98e12137f836495e770e863cabc6f217a0eda98;hb=2340ed6b79b3410e0f885135eaca91f4c15a94a6;hpb=c595396002ef037d0d904b8b2e8f5e7fe9b77a07 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 }