it-swarm-ru.tech

Как я могу получить больше информации об открытых каналах в / 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]

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

54
Kamil Kisiel

Похож на другие ответы, но:

lsof | grep 90222668

Покажет вам оба конца, потому что оба конца разделяют "номер трубы".

46
Kyle Brandt

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

4
bdonlan

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

lsof|grep FIFO

Боюсь, до сих пор рассказывается только об одном конце.

2
chaos