首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内核3中正在运行的进程的链接列表。*

内核3中正在运行的进程的链接列表。*
EN

Stack Overflow用户
提问于 2013-08-04 13:07:34
回答 1查看 741关注 0票数 2

我想知道每个进程的下一个和以前的进程,它的状态是"TASK_RUNNING“。在较老的内核中,有一个run_list结构作为task_struct的成员。我如何在内核3中做这样的事情呢?例如,跟踪正在运行的进程的列表,但我不知道在内核3中哪个结构被定义为这样的列表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-04 19:48:42

在较新的内核中,Linux并不维护所有正在运行的进程的列表。相反,CFS使用sched_entity的红黑树来存储有关正在运行的进程的信息。

task_struct包含类型为sched_entity的成员se。Sched实体包含类型为run_node的成员struct rb_node。这就是你要找的东西。

include/linux/rbtree.h查询rbtree接口。要从task_struct中提取sched_entity,可以使用container_of(your_se, struct task_struct, se); (请参阅kernel/sched/fair.c中的task_of() )。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18043288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档