`systemctl kill` leverages systemd's knowledge of the daemon's main PID, eliminating the need to rely on PID files or external tools like `killall` or `pkill`. This ensures precise signal sending to the intended process, reducing the risk of errors in process identification. Additionally, using `systemctl kill` logs the signal sending in the service's journal, providing a record of actions taken. Requires selinux-policy-41.43 or higher (see https://bugzilla.redhat.com/show_bug.cgi?id=2369644), available as an update for F41, F42, and Rawhide. https://bodhi.fedoraproject.org/updates/FEDORA-2025-eb98eb9e24 (F41 -- will go to stable in a few days) https://bodhi.fedoraproject.org/updates/FEDORA-2025-f9f097f491 (F42 -- stable) https://bodhi.fedoraproject.org/updates/FEDORA-2025-3db4c0ec1c (Rawhide) The logrotate configuration snippet: # cat /etc/logrotate.d/ntpsec.conf # On Linux systems with logrotate, # drop this into /etc/logrotate.d/ntpd # That will rotate ntpd.log monthly and then # kick ntpd to switch to the new log file. /var/log/ntpd.log { monthly missingok postrotate /usr/bin/killall -HUP ntpd endscript rotate 6 } In the postrotate script, killall can be replaced by: /usr/bin/systemctl kill --signal=HUP --kill-whom=main ntpd.service 2>/dev/null || true Because: # systemctl show -P MainPID ntpd.service 2411 # pgrep ntpd 2411 Reproducible: Always Additional Information: ntpsec-1.2.4-1.fc42.x86_64
Applied to the rawhide brach. Thanks!