it-swarm.cn

如何在Linux的/ proc中获取有关打开管道的更多信息?

在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中具有指向相同管道ID的符号链接)

4
bdonlan

我知道如何在开放管道上获得的最多信息是

lsof|grep FIFO

恐怕仍然只能说出它的目的。

2
chaos