3

我正在linux调度程序上写一些东西,我需要知道在我的中断到来之前哪个进程正在运行..当前结构是否可用?如果我在中断处理程序中执行 current->pid,我会得到我中断的进程的 pid 吗?

4

2 回答 2

5

您可以,current->pid存在并且是被中断的进程(可能是空闲线程或任何线程)。

如果你在 Linux 调度程序中编写,你应该非常小心。current调度程序在选择要运行的新进程时更改它,因此它的值取决于您阅读它的确切时间。

于 2012-05-13T13:13:47.517 回答
0

我不希望current在外部流程上下文中有效。如果您正在使用调度程序,也许您可​​以掌握它存储指向正在运行任务的指针的位置,例如 struct cfs_rq。

于 2012-05-13T13:52:44.990 回答