利用kernel提供的接口打印进程号(pid)
利用kernel提供的接口打印进程号(pid)
发布时间:2016-12-28 来源:查字典编辑
摘要:c文件printPid.c复制代码代码如下:#include#include#include#include#includestatic__...

c文件printPid.c

复制代码 代码如下:

#include <linux/kernel.h>

#include <linux/module.h>

#include <linux/init.h>

#include <linux/sched.h>

#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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新linuxshell学习
热门linuxshell学习
脚本专栏子分类