Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当加载动态库并在磁盘上更新,然后启动链接到该库的新进程时,Linux 会发生什么?新进程是与内存中的旧副本还是磁盘上的新版本相关联?
当包管理器更新磁盘上的文件时,他们实际上会删除旧文件并在其位置写入一个新文件。结果是,已经打开库的旧应用程序继续看到旧的——旧文件仍然存在于磁盘和内存中,但不再有文件名指向它。这些类型的文件称为孤立文件。
同时,应用程序在库被替换后启动,开始使用更新版本的库。
这就是为什么在断电后,您有时会在日志中或启动过程中看到以下消息:
EXT4-fs (sda3): 34 orphan inodes deleted
旧系统在崩溃时仍在访问这些文件,但它们不再对应用程序可见,因此应将其删除。