gpt4 book ai didi

c - 查找Linux socket的原始拥有进程

转载 作者:IT王子 更新时间:2023-10-29 00:22:37 26 4
gpt4 key购买 nike

在 Linux 和其他类 UNIX 操作系统中,它是 possible两个(或更多)进程共享一个 Internet 套接字。假设进程之间没有父子关系,有什么方法可以判断最初创建套接字的进程是什么?

澄清:我需要使用 /proc 从进程“外部”确定这一点文件系统或类似的。我无法修改流程的代码。我已经可以通过阅读 /proc/<pid>/fd 来判断哪些进程正在共享套接字。 ,但这并没有告诉我最初创建它们的过程。

最佳答案

您可以为此使用 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 -

关于c - 查找Linux socket的原始拥有进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com