【Linux编译内核】显示进程列表

Linux的进程管理

  • 为了管理进程,内核必须对每个进程的相关信息进行详细的描述。
  • 在Linux内核中,使用结构task_struct来描述一个进程。
    在文件/usr/src/linux-2.4.20-8/include
    /linux/sched.h中,大约1/3处。
  • 这个结构有将近一百个成员变量。

  • 也就是说,在Linux中,每个进程都用这个结构来描述。

  • 我们的任务,就是找到所有进程的task_struct,打印出尽量多的成员变量。
  • 所有进程的task_struct都通过成员变量next_task和prev_task构成了双向循环链表。
  • 链头用全局变量init_task表示。
  • 即: struct task_struct init_task;

这里写图片描述


改进内核模块

这里写图片描述


编写完成后,编译这个程序。
这里写图片描述


输出系统中所有的进程及其相关信息。
这里写图片描述


这里可以自行添加更多的task_struct中定义的进程列表项。有关进程列表项的说明可见[linux驱动current,引用当前进程,及task_struct]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值