В 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
Боюсь, до сих пор рассказывается только об одном конце.