如何在Mac OS X上findUnix域套接字的另一点来写/读它?

我在运行Mac OS X 10.5的机器上列出了一个进程(守护进程)的打开文件:

>lsof -p 89 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ... xxxxx 89 xxxxxxxx 9u unix 0x34f8990 0t0 ->0x34f8880 

我想find一种方法来打开这个套接字并写入它。 (这是我这次的痴迷..)

如何find基础文件的i-node /名称以达到该套接字? 有没有办法来解决这个地址0x34f888从shell脚本? 如果不是这样,如何编程?

作为一个评论,我已经启动了netstat命令并得到这个结果:

 > netstat -u Active LOCAL (UNIX) domain sockets Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr ... 34f8990 stream 0 0 0 34f8880 0 0 ... 34f8880 stream 0 0 0 34f8990 0 0 ... 

我不是networking/套接字大师。 希望这可以给更多的信息

PS:说实话,我已经在StackOverflow上发布了这个问题(对不起,我不认为现在是第一个ServerFault),但似乎没有人给出答案。 : 关于SO的同样的问题

至less在Linux中,AF_UNIX套接字可以被解除绑定到一个文件名,“未命名”(或者是“抽象的”,在这种情况下,它有一个名字,但与文件系统无关)。 OS X不太可能不同。 有关详细信息,请参阅套接字函数绑定的手册页(或查看开发文档)。

无论如何,如果OS X与/ proc文件系统具有相同的function,您可以通过浏览目标进程的文件描述符列表来获得套接字的句柄。 因人而异。 糟糕,它没有procfs。 请参阅有关Mac的特定解决方法。

Unix域套接字有inode,因此可以链接。 您通常会期望它们在文件系统中的某处显示为特殊文件。