Назад | Перейти на главную страницу

Как я могу получить дополнительную информацию об открытых каналах, отображаемых в / proc в Linux?

В Linux, если вы копаетесь в /proc/<pid>/fd часто вы увидите такой вывод:

lrwx------ 1 root root 64 Jul 30 15:14 0 -> /dev/null
lrwx------ 1 root root 64 Jul 30 15:14 1 -> /dev/null
l-wx------ 1 root root 64 Jul 30 15:14 10 -> pipe:[90222668]
lr-x------ 1 root root 64 Jul 30 15:14 11 -> pipe:[90222669]
l-wx------ 1 root root 64 Jul 30 15:14 13 -> pipe:[90225058]
lr-x------ 1 root root 64 Jul 30 15:14 14 -> pipe:[90225059]

Как мне получить дополнительную информацию об открытых каналах, например о том, какой процесс находится на другом конце?

Подобно другим ответам, но:

lsof | grep 90222668

Покажу вам оба конца, потому что оба конца имеют «номер трубы».

Единственный способ узнать, какой процесс находится на другом конце, - это перебрать все процессы в / proc и посмотреть, какие из них используют этот канал (т.е. у которых есть символические ссылки в / proc / pid / fd на тот же идентификатор канала)

Больше всего я знаю, как добраться до открытых труб.

lsof|grep FIFO

Боюсь, это все еще говорит только об одном конце.

lsof +E | grep FIFO | grep 90222668