Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以在Linux内核的do_execve_common中获取即将创建的进程的命令行?换句话说,如何从 argv 中提取命令行并将其 printk 到 dmesg。
其次,是否也可以获取进程的pid和父pid?这些信息在 do_execve_common 附近是否可用?
我只需要在内核中做这些事情。
我认为在调用 do_execve 时,task_struct 中的 pid & real_parent & comm 字段已经初始化。
所以你可以使用内核函数:getpid()、getppid() 和 get_task_comm() 来得到你想要的。我不确定这些功能是否存在于您的 Linux 内核版本中。如果没有,应该有一些类似的功能。