Почему в файловой системе /proc есть эта информация

Бежать :

lsof|grep delete

может найти какой-то процесс, открытый fd, но система сказала, что он был удален:

mingetty 2031 root txt REG 8,2 15256 49021039 /sbin/mingetty (deleted)

Я смотрю в файловой системе / proc:

ls -l /proc/[pid]

lrwxrwxrwx 1 root root 0 9月  17 16:12 exe -> /sbin/mingetty (deleted)

но на самом деле исполняемый файл (/ sbin / mingetty) является нормальным в пути / sbin / mingetty.

и некоторые сокеты показывают эту ситуацию:

ls -l /proc/[pid]/fd

82 -> socket:[23716953]

но, используя команды: netstat -ae|grep [socket id] могу найти это.

почему ОС отображает эту информацию??

1 ответ

Возможно, вы побежали yum update, mingetty был обновлен, и исполняемый файл, который вы наблюдаете, является старой, фактически удаленной версией.

Как вы можете знать или не знать, в Linux некоторые файлы не удаляются, пока все дескрипторы файлов, использующие этот файл, не будут закрыты. Старый mingetty все еще работает и хранит дескрипторы файла.

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