如何在Linux内核模块中获取并显示当前进程的名称和PID? 我的代码:
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
MODULE_DESCRIPTION("Afiseaza PID si numele executabilului");
MODULE_AUTHOR("ololo");
MODULE_LICENSE("FREE");
static int print_on_init(void)
{
struct task *cur_task;
cur_task = get_current();
printk(KERN_DEBUG, "Hello!\n");
return 0;
}
static int print_on_exit(void)
{
printk(KERN_DEBUG, "Goodbye!\n");
}
module_init(my_hello_init);
module_exit(hello_exit);
答案 0 :(得分:2)
我不是内核编程专家,但您可以查看当前PID的检索方式,例如code for exec()
。似乎有一个名为current
的结构,您可以通过它来提取所需的数据。当您在链接的内核源浏览器中单击变量名称时,您将获得此变量使用的其他位置的列表。
答案 1 :(得分:0)
您可以使用getpid()来电