lsof возвращает ошибку "not read vnode"

На Солярисе 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 -a на сервере, где работает lsof:

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

Выход из uname -a на сервере, где lsof не работает:

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

1 ответ

lsof: WARNING: скомпилировано для выпуска Solaris 5.9; это 5.10.

Это звучит подозрительно, как lsof говорит, что он сломан, и вам нужно восстановить lsof двоичный файл из источника (или другими словами: обновление) для надежной работы с текущей версией Solaris.

Если это не вариант, этот ответ может помочь вам обойти проблему.

Другие вопросы по тегам