先回顾下之前的三篇文章:
通过這三篇文章的学习我们知道无论内核进程还是用户进程,都是可以用task_struct来描述的那么本篇我们实践下如何通过task_struct字段把系统中所有的进程包含的信息打印出来,比如:属性信息状态,进程标识符优先级信息,亲属关系文件系统信息,内存方面的信息等
-
从0号进程开始通过list_for_each函数来遍历进程链表
-
从该地址中找到task_struct所对应的“属性信息,状态进程标识符,优先级信息亲属关系,文件系统信息内存信息”等信息。
或者直接用do_each_thread函数从0号进程开始遍历所有进程
这里列出一部分常用信息,更多的信息可以翻看之前的文章《》
最后我们看下,最后打印的信息是什么样子的: