Looks good to me. I have this in MySQL: /usr/bin/kill -USR1 $(systemctl show --property MainPID --value mysqld) https://src.fedoraproject.org/rpms/mysql8.4/blob/e1dd80/f/mysql-flush-logrotate.patch#_33
but the 'systemctl kill' looks like an elegant update I can use. Michal -- Michal Schorm Software Engineer Databases Team Red Hat -- On Sun, May 25, 2025 at 12:17 AM Marcos Mello <marcos...@gmail.com> wrote: > > Some packages install logrotate configuration snippets with postrotate > scripts that call: > > ``` > kill -<signal> `cat /run/<pidfile> 2>/dev/null` 2>/dev/null || true > ``` > > A non-comprehensive list: php-fpm, nginx, syslog-ng. The CONFIGURATION FILE > section of the logrotate(8) man page includes an example of this type of > construction. > > https://src.fedoraproject.org/rpms/php/blob/rawhide/f/php-fpm.logrotate > https://src.fedoraproject.org/rpms/nginx/blob/rawhide/f/nginx.logrotate > https://src.fedoraproject.org/rpms/syslog-ng/blob/rawhide/f/syslog-ng.logrotate > > This seems wasteful to me, as systemd *already knows* the daemon's main PID > (even when there's no pidfile) and can achieve the same result with: > > ``` > systemctl kill --signal=<signal> --kill-who=main <service> 2>/dev/null || true > ``` > > (since systemd 252, the option has been renamed to `--kill-whom`, and > `--kill-who` remains supported for compatibility) > > A long time ago, I opened a bug to change this for Nginx, but at the time, > SELinux policy didn't allow it, and the change was reverted. > > Adjusting the SELinux policy to allow the use of `systemctl kill` in these > cases would be beneficial, as the current policy > (selinux-policy-targeted-41.40-1.fc42.noarch) still denies it: > > type=USER_AVC msg=audit(1748111593.330:131): pid=1 uid=0 auid=4294967295 > ses=4294967295 subj=system_u:system_r:init_t:s0 msg='avc: denied { stop } > for auid=n/a uid=0 gid=0 path="/usr/lib/systemd/system/php-fpm.service" > cmdline="" function="bus_unit_method_kill" > scontext=system_u:system_r:logrotate_t:s0 > tcontext=system_u:object_r:httpd_unit_file_t:s0 tclass=service permissive=1 > exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? > terminal=?'UID="root" AUID="unset" AUID="root" UID="root" GID="root" > SAUID="root" > > Does this make sense to you? Should I start filing bugs about this? > -- > _______________________________________________ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue