lsof 返回“无法读取 vnode”错误

lsof 返回“无法读取 vnode”错误

在 Solaris 10 机器上,我收到以下错误lsof

can't read vnode at 0x7d900000000
can't read vnode at 0x7b

但是我lsof在另一个类似的 Solaris 10 盒子里有相同的二进制文件,它没有出现相同的错误。

在另一个框中,lsof成功列出了打开的文件信息。

还有其他人遇到过同样的问题并能够解决吗?

完整输出的片段:

$ lsof
lsof: WARNING: compiled for Solaris release 5.9; this is 5.10.
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
(unknown)     1     root  cwd                             can't read vnode at 0x7d900000000
(unknown)     1     root  rtd                             can't read vnode at 0x7b
(unknown)     9     root  cwd                             can't read vnode at 0x7d900000000
....

isainfo -kv和的输出file

$ isainfo -kv
64-bit sparcv9 kernel modules
$ file `which lsof`
/usr/local/bin/lsof:    ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped

uname -alsof 工作的服务器上的输出:

$ uname -a
SunOS server009 5.10 Generic_150400-26 sun4u sparc SUNW,SPARC-Enterprise

uname -alsof 不起作用的服务器上的输出:

$ uname -a
SunOS server043 5.10 Generic_150400-12 sun4u sparc SUNW,Sun-Fire-V890

答案1

lsof:警告:针对 Solaris 版本 5.9 编译;这是 5.10。

这听起来很像是lsof在告诉您它已损坏并且您需要lsof从源代码重建二进制文件(或换句话说:升级)才能可靠地与您当前的 Solaris 版本一起使用。

如果这不可行,这个答案可能会帮助你解决这个问题。

相关内容