В 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