7
谁有这个unix套接字对的另一端?
我想确定哪个进程具有UNIX套接字的另一端。 具体来说,我要问的是使用创建的一个socketpair(),尽管问题对于任何UNIX套接字都是相同的。 我有一个程序parent创建一个socketpair(AF_UNIX, SOCK_STREAM, 0, fds)和fork()。父进程关闭fds[1]并保持fds[0]通信。孩子做相反的事情close(fds[0]); s=fds[1]。然后孩子exec()的另一个程序child1。两者可以通过此套接字对来回通信。 现在,假设我知道谁parent是谁,但我想弄清楚谁child1是谁。我该怎么做呢? 我可以使用几种工具,但是没有一个可以告诉我哪个过程在套接字的另一端。我努力了: lsof -c progname lsof -c parent -c child1 ls -l /proc/$(pidof server)/fd cat /proc/net/unix 基本上,我可以看到两个插座以及有关它们的所有内容,但无法确定它们已连接。我正在尝试确定父级中的哪个FD与哪个子进程进行通信。