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...
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.