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.
Если это не вариант, этот ответ может помочь вам обойти проблему.