是否有一种方便的方法可以通过(端口、inode 编号、相对名称)获取绝对路径?
If there is a convenience method to get absolute path by (port, inode number, relative name)?
我想要 Linux C 程序中的答案,而不是 shell(查找 / -inum xxx)。
这些是详细信息:
1. 我有一个名为 'my_netstat_plus' 的程序,它喜欢 'netstat' 读取 /proc/net/tcp(6).udp(6) 并加载一些信息(地址、端口、inode...)
- 现在我想找到绝对路径名。
- by port: 我用getservbyport 获取相对路径,但不是绝对路径!
- 通过 inode 编号:我无法在 C/C++
中找到 inum 的用途
- by pid:/proc/pid/exe,但是我怎样才能得到 pid?
我看到了一些其他获取abs_path的方法:遍历/porc/pid/fd匹配端口,获取struct inode,然后递归到根目录。
但是太麻烦了,浪费性能
那么,我的问题是:
是否有一种方便的方法可以通过(端口、inode 编号、相对名称)获取绝对路径?
或者
有没有方便的方法通过(端口,inode号,相对名称)获取pid?
谢谢!
首先:检索/proc//中的所有进程
其次:读取每个进程的fd链接,比如/proc//fd/1 links to socket:[12345],这个12345等于有问题的ino
我想要 Linux C 程序中的答案,而不是 shell(查找 / -inum xxx)。
这些是详细信息: 1. 我有一个名为 'my_netstat_plus' 的程序,它喜欢 'netstat' 读取 /proc/net/tcp(6).udp(6) 并加载一些信息(地址、端口、inode...)
- 现在我想找到绝对路径名。
- by port: 我用getservbyport 获取相对路径,但不是绝对路径!
- 通过 inode 编号:我无法在 C/C++ 中找到 inum 的用途
- by pid:/proc/pid/exe,但是我怎样才能得到 pid?
我看到了一些其他获取abs_path的方法:遍历/porc/pid/fd匹配端口,获取struct inode,然后递归到根目录。 但是太麻烦了,浪费性能
那么,我的问题是: 是否有一种方便的方法可以通过(端口、inode 编号、相对名称)获取绝对路径? 或者 有没有方便的方法通过(端口,inode号,相对名称)获取pid?
谢谢!
首先:检索/proc//中的所有进程 其次:读取每个进程的fd链接,比如/proc//fd/1 links to socket:[12345],这个12345等于有问题的ino