From 463aef23a73d7850e0208cf4e96fd448693a755a Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Fri, 23 Jul 2021 11:12:03 +0200 Subject: manager: reexecute on SIGRTMIN+25, user instances only Before this patch, there was no way to request all running user instances for reexecuting. However this can be useful especially during package updates otherwise user instances are never updated and keep running a potentially very old version of the binaries. Now assuming that we have enough priviledge, it's possible to request reexecution of all user instances: systemctl kill --signal=SIGRTMIN+25 "user@*.service" Note that this request is obviously asynchronous as it relies on a signal. Keeping "systemctl kill" as the only interface should be good enough to make this obvious and that's the reason why another interface, such as "systemctl --global daemon-reexec" has not been considered. PID1 already uses SIGTERM for reexecuting hence sending it SIGRTMIN+25 is a nop. --- man/systemd.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'man/systemd.xml') diff --git a/man/systemd.xml b/man/systemd.xml index fe1719fc18..468edfb2d3 100644 --- a/man/systemd.xml +++ b/man/systemd.xml @@ -585,6 +585,17 @@ for --user instances). + + SIGRTMIN+25 + + Upon receiving this signal the systemd manager will reexecute itself. This + is mostly equivalent to systemctl daemon-reexec except that it will be + done asynchronously. + + The systemd system manager treats this signal the same way as + SIGTERM. + + SIGRTMIN+26 -- cgit v1.2.1