in reply to graceful handling of perl upgrades on server?

Whenever I upgrade running processes, I check lsof. Specifically, lsof | grep DEL.*lib | less -S (as root). Any process there (the first column) needs to be considered for restarting at your earliest opportunity. Generally, this includes a lot of my desktop apps which I worry about less, since I just log out and log back in and they'll all be reloaded (sometimes, this includes kwin, or even X, which pretty much necessitates this approach). Others are simply a restart of their file in /etc/init.d.

This applies to all processes, not just perl. It just so happens that it will probably solve your perl question, too, as the perl executable is one of the open files that will be missing.

Replies are listed 'Best First'.
Re^2: graceful handling of perl upgrades on server?
by bcrowell2 (Friar) on Dec 09, 2009 at 22:33 UTC
    Aha -- that's good to know, thanks! Using lsof as you suggested, I notice that all my getty processes have a deleted version of libc open. Seems strange, since I'd think that that would have caused getty to crash, making it impossible for me to log in.
      Deleting (unlinking) files doesn't make them go away. If something has the file open, it will prevent re-allocation of the files resources until the file is closed. libc should still be accessible to getty and any other application using it (including the OS). Note that an unlinked file cannot be closed and re-opened even within the same process.