在Debian中显示进程名称和pid

时间:2012-03-20 17:16:50

标签: c linux process kernel pid

如何在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);

2 个答案:

答案 0 :(得分:2)

我不是内核编程专家,但您可以查看当前PID的检索方式,例如code for exec()。似乎有一个名为current的结构,您可以通过它来提取所需的数据。当您在链接的内核源浏览器中单击变量名称时,您将获得此变量使用的其他位置的列表。

答案 1 :(得分:0)

您可以使用getpid()来电