首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >netstat进程名称信息以编程方式或通过procfs

问netstat进程名称信息以编程方式或通过procfs
EN

Stack Overflow用户
提问于 2013-02-16 19:41:04
回答 1查看 1.2K关注 0票数 1

我需要获取特定程序正在侦听的所有端口号。该程序本身是一个通用服务器类型的程序(让我们称其为myserverd)。可以将myserverd配置为侦听任何TCP端口,并且可以在一台机器上运行多个myserverd实例。

我可以通过在netstat -natp中对myserverd执行grep来获取正在运行的myserverd实例所使用的端口(使用p选项可以在netstat中显示程序名称)

我正在尝试在procfs (/proc/net/tcp)中查看此信息,但它没有显示任何进程名称……我的问题是:有没有一个好的/可靠的API可以用来以编程方式找出哪些进程正在侦听特定的端口(或将所有进程名称绑定到所有侦听端口)……?

EN

回答 1

Stack Overflow用户

发布于 2013-02-16 20:30:31

你可以在这里找到netstat的源代码:https://github.com/mirror/busybox/blob/master/networking/netstat.c。如果仔细查看,您应该会看到netstat是如何获得绑定进程的pids/名称的。

具体地说,看看prg_cache_load()函数,因为netstat无论如何都只是轮询/proc/net/tcp。

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

https://stackoverflow.com/questions/14909876

复制
相关文章

相似问题

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