我想知道像 Thunderbird 或 Firefox 这样的杀手级应用程序如何在它们仍在运行时通过系统的包管理器进行更新。旧代码在更新时会发生什么?当我想编写一个在运行时自我更新的程序 a.out 时,我必须做什么?
executable upgrade files
假设您打开了一个具有写入权限的文件。同时,当您仍然在某个编辑器中打开文件时,您可以更改权限并删除写入权限。
如果编辑并保存它会发生什么?
permissions open-files
executable ×1
files ×1
open-files ×1
permissions ×1
upgrade ×1