内核模块中的进程描述符

时间:2009-04-16 17:24:16

标签: c module linux-kernel

是否有可能获得指向内核模块中进程的进程描述符的指针?如果有可能请发布如何?我需要找到一个进程打开的所有文件及其每个文件描述符的偏移值....

4 个答案:

答案 0 :(得分:1)

好吧,我不知道如何从内核模块中获取它,但是有很多方法可以从常规代码中获取它...不是特别有效的,也就是说。从lsof和其他类似实用程序的方式开始,然后继续查看/ proc / $ pid / fd

答案 1 :(得分:1)

扫描proc文件系统,查找具有打开文件描述符的进程。但是,您无法检测到打开文件句柄的偏移量。

答案 2 :(得分:1)

我发现它得到了处理描述符的指针......该函数在linux / sched.h中声明

struct task_struct find_task_by_pid(pid_t pid) ..我想我可以使用这个进程描述符来跟踪文件描述符及其偏移量...感谢大家的支持

答案 3 :(得分:0)

我不确定你想要实现什么,通常只是一切 在给定进程id的上下文中执行。这总是如此 通过“当前”全球可用。如果你想找到一个 任意进程描述符然后find_task_by_pid可能是什么 你要。所有进程信息都来自task_struct。