给定一个文件描述符,我需要得到它的绝对路径,无论它是常规文件还是AF_UNIX
套接字。 How can I get a filename from a file descriptor inside a kernel module?处的代码适用于常规文件但使用AF_UNIX
套接字我得到类似"socket:[12345]"
的内容而不是绝对路径" /tmp/.X11-unix/X0" ;
struct sockaddr_un {
unsigned short sun_family; // AF_UNIX
char sun_path[108]; // pathname
};
答案 0 :(得分:1)
netstat -x
通过咨询/proc/net/unix
显示unix套接字的完整路径名,unix_seq_show
填充net/unix/af_unix.c
。看这里是如何完成的:
http://lxr.free-electrons.com/source/net/unix/af_unix.c?v=4.1#L2252