2012年4月4日

遍历内核所有的进程

摘要: 我们知道linux系统中的初始话进程为init_task,内核在初始化后期以该构造进程为原型,创建了用户空间的进程树的根init,和内核空间线程树的根kthreadd,用pstree只能显示init树结构。那么linux内核中如何得到,系统中所有进程列表呢?1 按照进程task_struct中组成的血缘关系,来遍历这两个根,这种方式是树状遍历方式,也是最传统简单方式下面将init进程传进去后,即可遍历该进程下所有的子进程 159 static void getLeakingThreads(struct task_struct* root) 160 { 161 struct list_head. 阅读全文

posted @ 2012-04-04 20:36 周健 阅读(3674) 评论(1) 推荐(0) 编辑

proc_fs下进程信息形成原理、目录遍历方式、位图查找

摘要: 我们知道在linux中,proc系统中对于每个进程都有一个进程相关的目录,里面描述了该进程各个方面详细的信息,本文探讨3个问题:1: /proc目录下每进程子目录的形成[动态遍历当前进程列表形成]2:每进程子目录下子目录/子文件的形成[静态数组]3:/proc/net/子目录下子目录、子文件形成[系统初始化时形成]内容:点击打开链接0 首先介绍proc_dir_entry的层次结构struct proc_dir_entry { unsignedint low_ino; unsignedshort namelen; constchar *name; mode_tmode;... 阅读全文

posted @ 2012-04-04 17:00 周健 阅读(1765) 评论(0) 推荐(0) 编辑

导航