查找管道另一端的过程


34

我试图跟踪一些进程的某些奇怪行为,并遇到了一个我不确定如何跟踪过去的问题。我附加到的挂起进程strace -p显示了以下内容:

Process 7926 attached - interrupt to quit
read(3, 

好的,它正在等待fd 3上的输入,所以我去检查了它是什么:

$ ls -l /proc/7926/fd/3
lr-x------ 1 user grp 64 Mar 15 10:41 /proc/7926/fd/3 -> pipe:[20043922]

好的,所以这是一个烟斗...现在的问题-这个烟斗的作者是谁?我记得在Linux上,Unix域套接字有一个特殊功能,您可以在其中请求以NUL字节开头的文件路径,以访问“抽象套接字名称空间”(此处提到:http : //tkhanson.net/cgit.cgi /misc.git/plain/unixdomain/Unix_domain_sockets.html)。我不确定是否可以利用类似的管道,但是我还没有发现任何东西。

我希望有一个类似的工具fuserlsof可能会有所帮助的工具,但是我却一无所获。

有任何想法吗?

Answers:



2

您可以通过以下lsof命令使用管道获取进程列表:

lsof | grep 'FIFO.*20043922'

输出将显示读取器(在FD列中输入为1r的条目)和写入器(在相同列中输入为2w的条目)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.