[arch-general] systemctl daemon-reexec - anything else needed after systemd update?
David C. Rankin
drankinatty at suddenlinkmail.com
Thu Dec 20 03:35:43 UTC 2018
On 12/19/2018 05:57 PM, Ralph Corderoy wrote:
> Hi David,
>
> Robin wrote:
>>> Is there anything else needed other than daemon-reexec when there is
>>> an update to systemd itself?
>>
>> https://git.archlinux.org/svntogit/packages.git/tree/trunk/systemd.install?h=packages/systemd#n80
>
> You might be interested in what running process have deleted files still
> open, perhaps because a package upgrade has installed a new version, or
> caused a updated version to be generated. A quickly knocked together
> pipeline I use is
>
> sudo -i lsof -n +c0 |
> sed -n '1{p;d}; /DEL/{p;d}; / (deleted)$/{p;d}' |
> egrep -v ' /(SYSV00000000|dev/shm/org\.(chromium\.......|mozilla\.ipc\.[0-9]+\.[0-9]+)|memfd:pulseaudio|tmp/#[0-9]{5,7})\>' |
> sed '1{h; d}; 2{x; G}'
>
> Not all the entries it shows matter, of course. It's up to the reader
> to parse and, say, decide to restart postfix.
>
Robin, Ralph,
Thanks. Glad to know it is already handled in post_upgrade(). Interesting
use of lsof and the parse of files open. Most of the Arch systems I have
running are servers, so it is fairly easy just to scan the upgrade list and
note which applications I need to restart.
The interesting part is that I have religiously done 'daemon-reload' if I
noticed any running unit files updated. Since post_upgrade() calls
daemon-reexex -- I don't even need to do that anymore if systemd is among the
ugrades :)
It may be worth adding to the systemd wiki page. It is silent about
daemon-reexec and the fact that is called with post_upgrade(). (it's there in
the PKGBUILD, and the post_install output "Reloading system manager
configuration...", but I didn't snap to the fact that "reloading" was doing
the reexec) Learning has occurred.
--
David C. Rankin, J.D.,P.E.
More information about the arch-general
mailing list