【发布时间】:2013-04-25 10:30:15
【问题描述】:
- 给定一个存在于
/proc/**/fd/*中的inode - 还有一个需要从符号链接
/proc/**/exe中找到可执行路径的Linux内核模块
我怎样才能实现这一点,以便从一个 inode 号我使用 fd 获得可执行文件的路径?
【问题讨论】:
-
在我的研究中,我发现了一个方法
proc_fd_link(lxr.free-electrons.com/source/fs/proc/fd.c?a=avr32#L140),但无法从我的内核模块访问(编译时找不到该方法。 -
我还找到了宏
PDE和PROC_I(lxr.free-electrons.com/source/include/linux/proc_fs.h) 但后来我不知道如何找到/proc/**/exe项。 -
一个inode可能没有或有多个路径,命名空间可能导致不同进程中的不同路径。你需要什么路径,为什么必须从内核模块完成?
-
@CL。在内核模块中执行它不是强制性的(我目前正在用户空间应用程序中实现它)。你说的“你需要什么路径”是什么意思?
-
所以你要重新实现
lsof?
标签: path linux-kernel executable inode