Можно ли найти время модификации сокета (или файла), учитывая индекс? - PullRequest
2 голосов
/ 28 июня 2011

У меня есть inode сокета - например, взятый из / proc / net / tcp, и я хочу найти больше данных на этом сокете, в частности время создания или изменения.

Я работаю в Cв Linux (ядро 2.6).

Это похоже на вопрос Получить сведения о файле по inode - но это было из bash.Отсюда вывод: легкого пути не существует, и для поиска используются траловые каталоги.Я надеялся на что-то более эффективное.

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Боюсь, что нет. Время создания файла не задерживается, три метки даты / времени (см. Man 2 stat) содержат время последнего доступа (atime), время последней модификации (mtime) и время последнего изменения состояния файла (ctime ).

Когда требуется время создания, обычной практикой является включение его где-то в имя файла, что явно не вариант с /proc/net/tcp.

.
0 голосов
/ 07 июля 2011

Похоже, что в системах, которые я исследовал, мало времени для создания или модификации сокетов, хранящихся доступным способом.

Индекс можно найти по записям в / proc / net /tcp, а затем выполните поиск по всем дескрипторам файлов во всех процессах в / proc // fd на предмет совпадения.

Это не очень помогает, поскольку временные метки появляются, когда этот каталогпервый доступ.то есть псевдо-каталог создается только при запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...