Solaris 上的“lsof:无法从 /dev/ksyms 读取名单”

Solaris 上的“lsof:无法从 /dev/ksyms 读取名单”

在 Solaris 上,当我键入命令时

lsof -l

我遇到了这个错误:

lsof: can't read namelist from /dev/ksyms

任何人都知道这个错误意味着什么以及如何在 Solaris 中使用 lsof 打开打开的 FD 列表?

答案1

使用 Solaris 标准命令的最接近的等效项是

pfiles /proc/*

答案2

来自lsof常见问题解答:

17.12.7 为什么 Solaris 7、8 或 9 系统上的 lsof 显示“无法从 /dev/ksyms 读取名单?”

您可能正在尝试使用为 64 位 Solaris 7、8 或 9 内核上的早期 Solaris 版本构建的 lsof 可执行文件。的输出lsof -v将告诉您 lsof 可执行文件的构建环境。您还应该收到一条警告消息,指出 lsof 是为与运行它的版本不同的 Solaris 版本编译的 - 如下所示:

  lsof: WARNING: compiled for Solaris release X; this is Y

您需要在要使用 lsof 的系统上构建它。对于 64 位 Solaris 7、8 和 9,您需要一个可以生成 64 位 Solaris 可执行文件的编译器 - 例如,Sun Workshop 5 C 编译器或更高版本,或者最新的 gcc 版本(如 3.2)。

相关内容