who*_*isp 21
你可以使用netstat.您应该查看"本地地址"和"PID /程序名称"列.
xxx@xxx:~$ netstat -tulpen
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 127.0.0.1:4005          0.0.0.0:*               LISTEN      1000       68449       7559/sbcl       
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      0          3938        -               
tcp6       0      0 :::6000                 :::*                    LISTEN      0          3937        -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          4528        -               
您可能可以通过解析 /proc/net/tcp(以及其他协议的类似“文件”)来找到共享套接字。有上的/ proc /净/ TCP一些文档在这里。
您需要找到套接字(可能通过其 IP 地址/端口号?)并解析出 inode 号。拥有 inode 后,您可以搜索所有/proc/*/fd/*,调用stat每个链接并检查 的  st_ino成员,struct stat直到找到匹配项。
两个进程之间的 inode 编号应该匹配,因此当您完成所有操作后,/proc/*/fd/*您应该都找到了它们。
如果您知道的是第一个的进程 ID 和套接字 fd,则您可能不需要通过 /proc/net/tcp,您需要做的就是统计/proc/<pid>/fd/<fd>并搜索其余部分以/proc/*/fd/*查找匹配的 inode。如果你想获取 IP 地址/端口号,你需要 /proc/net/tcp - 如果你知道 inode 号,你可以找到它
| 归档时间: | 
 | 
| 查看次数: | 27237 次 | 
| 最近记录: |