diff --git a/etc/initsystem/safe-reload.cmake b/etc/initsystem/safe-reload.cmake index 0cba415d0..6bcf6c00f 100644 --- a/etc/initsystem/safe-reload.cmake +++ b/etc/initsystem/safe-reload.cmake @@ -43,7 +43,7 @@ if [ ! -e "$ICINGA2_PID_FILE" ]; then fi pid=`cat "$ICINGA2_PID_FILE"` -if ! kill -HUP "$pid" >/dev/null 2>&1; then +if ! "$DAEMON" internal signal --sig SIGHUP --pid "$pid" >/dev/null 2>&1; then echo "Error: Icinga not running" exit 7 fi diff --git a/etc/logrotate.d/icinga2.cmake b/etc/logrotate.d/icinga2.cmake index f0a9e59ae..a635301ae 100644 --- a/etc/logrotate.d/icinga2.cmake +++ b/etc/logrotate.d/icinga2.cmake @@ -6,7 +6,7 @@ missingok notifempty@LOGROTATE_CREATE@ postrotate - /bin/kill -USR1 $(cat @ICINGA2_INITRUNDIR@/icinga2.pid 2> /dev/null) 2> /dev/null || true + @CMAKE_INSTALL_FULL_SBINDIR@/icinga2 internal signal --sig SIGUSR1 --pid "$(cat @ICINGA2_INITRUNDIR@/icinga2.pid 2> /dev/null)" 2> /dev/null || true endscript } diff --git a/lib/cli/internalsignalcommand.cpp b/lib/cli/internalsignalcommand.cpp index b98e6c621..201a5119c 100644 --- a/lib/cli/internalsignalcommand.cpp +++ b/lib/cli/internalsignalcommand.cpp @@ -57,6 +57,8 @@ int InternalSignalCommand::Run(const boost::program_options::variables_map& vm, return kill(vm["pid"].as(), SIGCHLD); if (signal == "SIGHUP") return kill(vm["pid"].as(), SIGHUP); + if (signal == "SIGUSR1") + return kill(vm["pid"].as(), SIGUSR1); Log(LogCritical, "cli") << "Unsupported signal \"" << signal << "\""; #else