Signal telegraf process until it exits (#5169)

This commit is contained in:
Daniel Nelson 2018-12-26 18:54:50 -08:00 committed by GitHub
parent b1baa54cc4
commit c12eecc90e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 5 deletions

View File

@ -134,6 +134,7 @@ func (a *Agent) Run(ctx context.Context) error {
return err
}
log.Printf("D! [agent] Stopped Successfully")
return nil
}

View File

@ -152,11 +152,17 @@ case $1 in
if [ -e $pidfile ]; then
pidofproc -p $pidfile $daemon > /dev/null 2>&1 && status="0" || status="$?"
if [ "$status" = 0 ]; then
if killproc -p $pidfile SIGTERM && /bin/rm -rf $pidfile; then
log_success_msg "$name process was stopped"
else
log_failure_msg "$name failed to stop service"
# periodically signal until process exists
while true; do
if ! pidofproc -p $pidfile $daemon > /dev/null; then
break
fi
killproc -p $pidfile SIGTERM 2>&1 >/dev/null
sleep 2
done
log_success_msg "$name process was stopped"
rm -f $pidfile
fi
else
log_failure_msg "$name process is not running"