Comment by amiga386

Comment by amiga386 15 hours ago

4 replies

Windows won't let you overwrite files "in use" and "file" is determined by the full pathname.

Linux will let you overwrite files "in use" (though the program(s) using them may not notice) and "file" is determined by a magic number, the inode - you can delete a file from a directory, really it's removing _that inode_, and put a new file in place with the same name, it's a _new_ inode. Programs that still have the file open are referring to the _old_ inode, which only goes away once everyone stops using it.

So actually you need to go round restarting your programs/services on Linux to get them to pick up changes (most package managers do that automatically), but at least it's _possible_ to make those changes without a reboot. Windows has to go into a special mode where nothing else runs, to be sure that it can update files.

throwaway106382 15 hours ago

This is why I love OpenSUSE, when you update your system it will let you know when updated files that certain processes are using were touched and you can then decide if you want to restart them.

Suse systems in general are just so much nicer to administer than RedHat or Debian/Ubuntu ones (imo of course).

  • aaronmdjones 14 hours ago

    htop(1) can also highlight running processes that have had their on-disk executable replaced (highlights in red) or one of its shared libraries (highlights in yellow). I find this very useful.

  • mschuster91 12 hours ago

    Debian can do just the same, at least for a libc upgrade and a few others you get asked if you wish to restart now or later.