利用kernel提供的接口打印进程号(pid)

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

c文件printPid.c

复制代码

代码如下:

#include

#include

#include

#include

#include <linux/list.h>

static __init int printPid(void) //安装模块函数

{

    struct task_struct *task,*p;

    struct list_head *ps;

int count=0;

    printk(“begin.n”);

    task=&init_task;

    list_for_each(ps,&task->tasks)

    {

p=list_entry(ps,struct task_struct,tasks);

        count++;

        printk(“%dt%sn”,p->pid,p->comm);

    }

    printk(“Process counts:%dn”,count);

return 0;

}

static __exit void exitPid(void)  //卸载函数

{

    printk(“exit!n”);

}

module_init(printPid); //实现的函数必须放入其中

module_exit(exitPid);

make后会生成pid.ko文件。

然后用这几个命令:

复制代码

代码如下:

#安装模块

sudo insmod pid

#显示日志信息

dmesg

#显示挂载的挂载的所有模块

lsmod

#卸载

sudo rmmod pid

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容