《Linux课程设计》
班级:08计算机三班 姓名:王海鹏 学号:20085132
指导教师:于群
提交日期:2011-06-23
1.课程设计题目
编写proc文件系统相关的内核模块
1)设计一模块,该模块的功能是列出系统中所有内核线程的程序名、PID号和进程状态。
2)设计一个带参数的内核模块,其参数为某个进程的PID号,该模块的功能是列出该进程的家族信息,包括父进程、兄弟进程和子进程的程序名、PID号。
2.第一题详细描述
1)代码
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
static int ps_begin(void)
{
int count=0;
struct task_struct *p;
for_each_process(p)
{
if(p->mm==NULL)
{
printk("\nThread Info!\n");
printk("\ncomm=%s,pid=%d,state=%ld\n",p->comm,p->pid,p->state); count++;
}
printk("\nthe number of processes is : %d\n",count); }
return 0;
}
static void ps_end(void)
{
printk("\nExit!\n");
}
module_init(ps_begin);
…… …… 余下全文