如何在当前未运行的进程后面访问task_struct?

时间:2019-06-10 13:41:41

标签: linux process kernel task

我正在研究一种管理睡眠进程的替代方法,而对于我的实验,我需要制作一个经过修改的Linux内核。对于我正在做的事情,我需要访问描述一个进程的task_struct,即使它是当前正在运行的进程。我需要这样做,以便可以为建议的睡眠方法更新task_struct的字段。

TL; DR如何访问当前不在CPU上运行的进程的task_struct。我会知道它是PID。

1 个答案:

答案 0 :(得分:0)

find_task_by_vpid() in sched.h(假设使用最新内核)。

正如@Tsyvarev所提到的,在调用它之前,有(很多)同步问题需要解决,因此,请了解其调用者的工作,以免打伤自己。