首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查找打开套接字的详细信息

查找打开套接字的详细信息
EN

Unix & Linux用户
提问于 2021-11-24 23:04:07
回答 1查看 330关注 0票数 0

我的程序正在打开TCP套接字,我正在试图跟踪原因(我使用了许多不同的套接字)。lsof命令显示:

代码语言:javascript
运行
复制
myprog  258981 root   56u     sock                0,8      0t0 2429743 protocol: TCP
myprog  258981 root   57u     sock                0,8      0t0 2430142 protocol: TCP
myprog  258981 root   58u     sock                0,8      0t0 2430553 protocol: TCP
myprog  258981 root   59u     sock                0,8      0t0 2430975 protocol: TCP
myprog  258981 root   60u     sock                0,8      0t0 2431371 protocol: TCP
myprog  258981 root   61u     sock                0,8      0t0 2431775 protocol: TCP

因此,我认为这意味着最后一个TCP套接字是在节点2431775打开的。所以我想找更多关于这个套接字的信息。

如何找到套接字(目标地址和端口)的更多细节?

EN

回答 1

Unix & Linux用户

发布于 2021-11-24 23:09:53

TCP套接字没有inode号(可能在Plan9下有)。它不是“映射”到任何地方的文件系统。您可能会将此与UNIX域套接字混淆。

你希望在信息中找到什么还不清楚。所发生的情况是,您的程序创建了一个套接字,并且没有正确地处理它,而且,即使它正确地处理了它,TCP状态机也可能会继续存在,例如等待未使用的ACK(取决于您所做的操作以及您的计算机的配置方式)。所以,在您的代码中,看看在哪里创建了套接字。如果您对何时发生这种情况感到困惑,strace可能会有所帮助。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/678965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档