从pid获取_complete_进程名称

时间:2009-09-23 14:24:38

标签: linux linux-kernel kernel

我在内核模块中,我希望拥有整个进程名称 从给定的pid。确切地说:我想要在/ proc / PID / cmdline中保存的行。

问题是task_struct->comm[]只有15个字节长且无法处理 如果程序手动或通过setproctitle(3)...

更改了他的argv[]

有什么想法吗? :)

2 个答案:

答案 0 :(得分:4)

你总是可以看看内核是如何做到的。你会看到这个功能:

proc_pid_cmdline(struct task_struct *task, char * buffer)

这很容易理解,但是如果您对感兴趣的过程有task_struct,则可以使用access_process_vm()mm->arg_start中删除所需的位。

答案 1 :(得分:2)

打开/proc/<pid>/cmdline文件并阅读内容有什么问题?