@cryptotaxi247 / netdata-1 / commits / 7c6ca406e

fix: don't kill Netdata PIDs if successfully stopped Netdata (#12982)

Ilya Mashchenko committed May 23, 2022 at 15:19 UTC 7c6ca406e57925f8f656342446c18855e80963ff
2 files changed +31 -17
packaging/installer/functions.sh
+16 -9
@@ -640,39 +640,46 @@ netdata_pids() {
640 }
641
642 stop_all_netdata() {
643 + stop_success=0
644
645 if [ "${UID}" -eq 0 ]; then
645 - uname="$(uname 2> /dev/null)"
646 + uname="$(uname 2>/dev/null)"
647
648 # Any of these may fail, but we need to not bail if they do.
649 if issystemd; then
650 if systemctl stop netdata; then
651 + stop_success=1
652 sleep 5
653 fi
654 elif [ "${uname}" = "Darwin" ]; then
655 if launchctl stop netdata; then
656 + stop_success=1
657 sleep 5
658 fi
659 elif [ "${uname}" = "FreeBSD" ]; then
660 if /etc/rc.d/netdata stop; then
661 + stop_success=1
662 sleep 5
663 fi
664 else
665 if service netdata stop; then
666 + stop_success=1
667 sleep 5
668 fi
669 fi
670 fi
671
667 - if [ -n "$(netdata_pids)" ] && [ -n "$(command -v netdatacli)" ]; then
668 - netdatacli shutdown-agent
669 - sleep 20
670 - fi
672 + if [ "$stop_success" = "0" ]; then
673 + if [ -n "$(netdata_pids)" ] && [ -n "$(command -v netdatacli)" ]; then
674 + netdatacli shutdown-agent
675 + sleep 20
676 + fi
677
672 - for p in $(netdata_pids); do
673 - # shellcheck disable=SC2086
674 - stop_netdata_on_pid ${p}
675 - done
678 + for p in $(netdata_pids); do
679 + # shellcheck disable=SC2086
680 + stop_netdata_on_pid ${p}
681 + done
682 + fi
683 }
684
685 # -----------------------------------------------------------------------------
packaging/installer/netdata-uninstaller.sh
+15 -8
@@ -650,6 +650,7 @@ netdata_pids() {
650
651 stop_all_netdata() {
652 p=''
653 + stop_success=0
654
655 if [ "$(id -u)" -eq 0 ]; then
656 uname="$(uname 2> /dev/null)"
@@ -657,32 +658,38 @@ stop_all_netdata() {
658 # Any of these may fail, but we need to not bail if they do.
659 if issystemd; then
660 if systemctl stop netdata; then
661 + stop_success=1
662 sleep 5
663 fi
664 elif [ "${uname}" = "Darwin" ]; then
665 if launchctl stop netdata; then
666 + stop_success=1
667 sleep 5
668 fi
669 elif [ "${uname}" = "FreeBSD" ]; then
670 if /etc/rc.d/netdata stop; then
671 + stop_success=1
672 sleep 5
673 fi
674 else
675 if service netdata stop; then
676 + stop_success=1
677 sleep 5
678 fi
679 fi
680 fi
681
677 - if [ -n "$(netdata_pids)" ] && [ -n "$(command -v netdatacli)" ]; then
678 - netdatacli shutdown-agent
679 - sleep 20
680 - fi
682 + if [ "$stop_success" = "0" ]; then
683 + if [ -n "$(netdata_pids)" ] && [ -n "$(command -v netdatacli)" ]; then
684 + netdatacli shutdown-agent
685 + sleep 20
686 + fi
687
682 - for p in $(netdata_pids); do
683 - # shellcheck disable=SC2086
684 - stop_netdata_on_pid ${p}
685 - done
688 + for p in $(netdata_pids); do
689 + # shellcheck disable=SC2086
690 + stop_netdata_on_pid ${p}
691 + done
692 + fi
693 }
694
695 trap quit_msg EXIT