我在内核模块中,我希望拥有整个进程名称 从给定的pid。确切地说:我想要在/ proc / PID / cmdline中保存的行。
问题是task_struct->comm[]
只有15个字节长且无法处理
如果程序手动或通过setproctitle(3)...
argv[]
有什么想法吗? :)
答案 0 :(得分:4)
你总是可以看看内核是如何做到的。你会看到这个功能:
proc_pid_cmdline(struct task_struct *task, char * buffer)
这很容易理解,但是如果您对感兴趣的过程有task_struct
,则可以使用access_process_vm()
从mm->arg_start
中删除所需的位。
答案 1 :(得分:2)
打开/proc/<pid>/cmdline
文件并阅读内容有什么问题?