Один файл сокета Unix имеет два индексных дескриптора, почему? ⇐ Linux
-
Anonymous
Один файл сокета Unix имеет два индексных дескриптора, почему?
Я использую команду lsof -c sshd, генерируя следующий вывод:\
имя узла pid команды sshd 214812 563464 /путь/к/ssh-агенту После этого я запускаю ls -inum /path/to/ssh-agent и получаю:\
3538970 /путь/к/ssh-агенту
Мы наблюдаем идентичный файл сокета /path/to/ssh-agent, но сталкиваемся с разными индексными дескрипторами (числами). При дальнейшем рассмотрении я удостоверяюсь, что одно из приведенных выше значений связано с task->fdt->fd->file->f_inode->i_ino, который указывает на /UNIX- STREAM (а не сам файл агента), а другой — из task->fdt->fd->file->private_data->path.dentry->d_node->i_ino< /код>.\
Тем не менее, возникает вопрос: почему для одного сокета Unix необходимы два индексных дескриптора?
Я использую команду lsof -c sshd, генерируя следующий вывод:\
имя узла pid команды sshd 214812 563464 /путь/к/ssh-агенту После этого я запускаю ls -inum /path/to/ssh-agent и получаю:\
3538970 /путь/к/ssh-агенту
Мы наблюдаем идентичный файл сокета /path/to/ssh-agent, но сталкиваемся с разными индексными дескрипторами (числами). При дальнейшем рассмотрении я удостоверяюсь, что одно из приведенных выше значений связано с task->fdt->fd->file->f_inode->i_ino, который указывает на /UNIX- STREAM (а не сам файл агента), а другой — из task->fdt->fd->file->private_data->path.dentry->d_node->i_ino< /код>.\
Тем не менее, возникает вопрос: почему для одного сокета Unix необходимы два индексных дескриптора?
Мобильная версия