未定义的符号并重新启动 linux

未定义的符号并重新启动 linux

我只是好奇这个问题。

假设有人undefined symbol在启动程序时出错。为了解决这个问题,有人可以使用诸如lddldconfignm其他工具来找出必须替换哪个库才能再次启动该程序。

但我们假设另一种情况:程序的使用者重新启动操作系统,然后启动程序,并且没有undefined symbol错误,即程序正常启动。仅当系统上已存在正确的库(带有该符号)时才会出现这种情况。

  • 在linux上可以吗?
  • 如果是,在什么情况下?
  • 关于共享库的更多详细信息,在 Linux 系统上重新启动期间会执行哪些操作?

答案1

我想到两种情况:

  • 当使用该库的进程正在运行时更新库。该进程将看到该库的旧版本,直到重新启动为止。

  • 将设备安装到已使用的安装点上。在该安装点中运行的进程保留其旧视图。

这两种情况都可以通过重新启动来纠正,但我不确定它是否适用于您的情况。

相关内容