LINUX.ORG.RU

/proc/X/fd/


0

1

передположим есть некая программа, я захожу в /proc/X/fd/ и вижу там @14 -> socket:[6711]. 6711 видимо дескриптор сокета, а можно ли узнать подробности по этому сокету? куда приконектились, по какому адресу, по какому порту?

★★★★
Ответ на: комментарий от anon_666

этот вариант я то-же нашел, но когда tcp сокетов в системе открыто многие тысячи стение их этого файла мягко говоря тормозное, а напрямую запрос ядру через какое либо API нельзя дать по поводу конкретного сокета?

quest ★★★★
() автор топика
Ответ на: комментарий от vasily_pupkin

>ШТО

чтение их этого файла мягко говоря тормозное (когда открыты тысячи tcp сокетов)

quest ★★★★
() автор топика
Ответ на: комментарий от vasily_pupkin

>socket:[12345] => 12345 == /tcp [10]
ШО ?

quest ★★★★
() автор топика
Ответ на: комментарий от quest

>> чтение их этого файла мягко говоря тормозное (когда открыты тысячи tcp сокетов)

цифры в студию. С чего бы это вдруг /proc начал тормозить?

deadman ★★
()
Ответ на: комментарий от deadman

с того что там тысячи сокетов. cat /proc/net/tcp | wc -l может выполнятся минуты.

quest ★★★★
() автор топика
Ответ на: комментарий от frey

>Лучше чем lsof вы вряд ли сделаете, так что смотрите туда.

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

quest ★★★★
() автор топика
Ответ на: комментарий от quest

Ну мне щас лень за тебя в исходники лезть.

frey ★★
()
Ответ на: комментарий от quest

Список всех системных вызовов можно увидеть в man 2 syscalls или include/linux/syscalls.h.

/proc/net/tcp то-же получает список явно с помощью какого то внутреннего вызова


Это файл в procfs, формируемый ядром.

anon_666
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.