- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要获取特定程序正在监听的所有端口号。该程序本身是一个通用的服务器类型程序(我们称它为 myserverd
)。 myserverd
可以配置为监听任何 TCP 端口,一台机器上可以运行多个 myserverd
实例。
我可以通过 grep
在 netstat -natp< 中为
(myserverd
获取正在运行的 myserverd
实例所使用的端口p
选项,用于在 netstat
中显示程序名称)
我试图在 procfs (/proc/net/tcp
) 中查看此信息,但它没有显示任何进程名称...我的问题是:是否有良好/可靠的 API可用于以编程方式确定哪些进程正在监听特定端口(或获取绑定(bind)到所有监听端口的所有进程名称)...?
最佳答案
您可以在此处找到 netstat 的源代码:https://github.com/mirror/busybox/blob/master/networking/netstat.c .如果您仔细查看它,您应该会看到 netstat 如何获取绑定(bind)进程的 pids/名称。
具体来说,请查看 prg_cache_load()
函数,因为 netstat
只是轮询 /proc/net/tcp
。
关于c - 以编程方式或来自 procfs 的 netstat 进程名称信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14909876/
我可以在 procfs 中创建任何文件映射来反射(reflect)我的程序的内部状态吗? 例如, main.c: char *message; ... 假设 pid 是 1200,是否可以创建一个临时
我一直认为当内核通过 procfs 写入用户时,copy_to_user 是必要的。 虽然我忘了做一次(我使用了 snprintf),但一切正常。既然我注意到了,我就一直在寻找。我找到了 this l
我正在为 Linux 开发安全软件 (SW)。我们的 SW 所做的一件事是,当某个进程启动时,SW stat()s 进程的/proc/条目并记住条目的 inode 号。当 SW 稍后需要确定该进程仍在
ssize_t dev_read(struct file *filp,char *buf,size_t count,loff_t *offset) { int len = count >= s
我正在寻找解决此类问题的方法。我想使用 select 监视 procfs 文件的更改(我想使用 select,而不是 i_notify,因为我观察了套接字的另一个描述符). 我试过这样的东西: fd1
我正在尝试确定是否可以使用 procfs 中的元数据来区分同一文件上的两个单独句柄,以及具有指向它的两个文件描述符的单个句柄。 案例 1:两个文件句柄 # setup exec 3>test.lck
当内核中发生中断时,如果我正在读取内核中的时间戳。我正在通过 procfs 从内核读取时间戳给用户。该中断时间值将存储在哪里??用户应该如何从用户空间读取该值?? ssize_t dev_read(s
Linux 内核如何处理对 procfs 的多次读/写?例如,如果两个进程同时写入 procfs,一个进程是否排队(即内核陷阱实际上阻塞了其中一个进程),或者是否有一个内核线程为每个内核运行? 问题是
我已经研究过这个网站上的类似问题(列在最后),但仍然感觉遗漏了几点,希望有人能在这里提供帮助: proc 有钩子(Hook)吗?连接 /proc/iomem 的文件系统inode转储信息的功能?我找不
我想在 while 循环中从 bash 终端访问某些进程的 status.log 文件并进行比较。因此,由于 PID 不是静态的,我如何才能使用命令名称而不是 PID 来访问其 proc/PID 文件
我正在研究 Solaris。 我知道如果有一个进程在运行,就会有一个名为 /proc//status 的文件, 其中是进程 ID,它包含一个名为 state 的字段. 例如,我使用了我的 shell
我正在尝试构建一个类似调试器的程序在 Linux (Ubuntu) 下,我遇到了一些问题。据我所知,/proc vfs 提供机制创建观察点,但我似乎无法找到方法。 一些手册页将我指向“控制文件”,据说
我需要获取特定程序正在监听的所有端口号。该程序本身是一个通用的服务器类型程序(我们称它为 myserverd)。 myserverd 可以配置为监听任何 TCP 端口,一台机器上可以运行多个 myse
虚拟文件系统 (VFS) 或虚拟文件系统交换机是更具体文件系统之上的抽象层。 VFS的目的是允许客户端应用程序以统一的方式访问不同类型的具体文件系统。 如果我们看到 VFS 的实际工作,这个定义似乎是
procfs 会告诉我某个进程在任何给定时间正在使用哪个 fds。但是有没有办法确定哪些是开放阅读还是哪些是写作? 在下面的输出中,显然进程所有者(用户“x”)对链接/文件具有读/写访问权限,但这与知
我正在使用我的 C 程序读取/proc/PID/status 文件,我想使用 pstatus_t 结构直接将文件中的值读入此结构。但是,我的编译器显示该文件不存在于 procfs.h 中。我在互联网上
我正在 FPGA/SoC 上进行开发,需要通过 DMA 访问 procfs。我知道它是一个位于内存中的伪文件系统,我想知道是否有可能获得它的地址(类似于系统调用表地址在 System.map 中的访问
我想在 Linux 中从 procfs 获取 jobid。我在/proc//status 文件中只看到 Pid 和 Ppid 。但我也需要工作。如果有办法获取信息,请告诉我。 谢谢! 最佳答案 如果您
我在尝试编译这个简单的程序时遇到了这个错误。 psinfo 结构在 procfs.h 中。它在定义行上出错。为什么它不知道 psinfo 的大小? #include int main(int arg
我是一名优秀的程序员,十分优秀!