我只是好奇这个问题。
假设有人undefined symbol
在启动程序时出错。为了解决这个问题,有人可以使用诸如ldd
、ldconfig
或nm
其他工具来找出必须替换哪个库才能再次启动该程序。
但我们假设另一种情况:程序的使用者重新启动操作系统,然后启动程序,并且没有undefined symbol
错误,即程序正常启动。仅当系统上已存在正确的库(带有该符号)时才会出现这种情况。
- 在linux上可以吗?
- 如果是,在什么情况下?
- 关于共享库的更多详细信息,在 Linux 系统上重新启动期间会执行哪些操作?
答案1
我想到两种情况:
当使用该库的进程正在运行时更新库。该进程将看到该库的旧版本,直到重新启动为止。
将设备安装到已使用的安装点上。在该安装点中运行的进程保留其旧视图。
这两种情况都可以通过重新启动来纠正,但我不确定它是否适用于您的情况。