34
7
I'm trying to trace some odd behavior of a few processes and ran into a point I'm not sure how to trace past. The hung process, which I attached to using strace -p
showed this:
Process 7926 attached - interrupt to quit
read(3,
Okay, so it's waiting for input on fd 3, so I went to check what it is:
$ ls -l /proc/7926/fd/3
lr-x------ 1 user grp 64 Mar 15 10:41 /proc/7926/fd/3 -> pipe:[20043922]
Okay, so it's a pipe... now the question -- who is the writer of this pipe? I recall that on Linux there is a special feature for unix domain sockets where you can request a file path that starts with a NUL byte to access the "abstract socket namespace" (mentioned here: http://tkhanson.net/cgit.cgi/misc.git/plain/unixdomain/Unix_domain_sockets.html). I'm not sure if there's something similar for pipes that I could take advantage of, but I haven't found anything.
I was hoping a tool like fuser
or lsof
might help, but I haven't gotten anywhere.
Any ideas?
1
Good thinking, thanks! While investigating I also came across this thread here http://serverfault.com/questions/48330/how-can-i-get-more-info-on-open-pipes-show-in-proc-in-linux so I thought I'd drop the link here too just ffr for others too.
– FatalError – 2012-03-22T13:54:51.523