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]