如何获取有关 Linux 中 /proc 中显示的开放管道的更多信息?

如何获取有关 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]

如何获取有关开放管道的更多信息,例如另一端是哪个进程?

答案1

与其他答案类似,但是:

lsof | grep 90222668

将显示两端,因为两端共享“管道号”。

答案2

找到另一端进程的唯一方法是循环遍历 /proc 中的所有进程,并查看哪些进程正在使用该管道(即,哪些进程在 /proc/pid/fd 中具有指向相同管道 ID 的符号链接)

答案3

我所知道的关于打开管道的最多的信息是

lsof|grep FIFO

恐怕仍然只讲述了事情的一个结局。

答案4

lsof +E | grep FIFO | grep 90222668

相关内容