假设我处于内核模式,我尝试知道带有 PID 的进程是否是我的后代。
有没有一个函数可以检查它?或者我应该创建一个像这样的函数:
PSEUDO CODE:
my_process = get_current();
target_process = find_task_by_vpid(PID);
while (target_process != NULL && target_process != my_process)
target_process = target_process->parent;
if(target_process!=) //meaning he is one of my kids
return YES_HE_IS_YOUR_KID;
else
return NO_HE_IS_YOUR_KID;
最佳答案
据我所知,没有内置函数可以确定给定的 pid 是否是当前进程的后代。您应该手动编写该函数。正如您所演示的,它相当简单,并且长度不到 10 行。
注意。 有时在内核中,没有当前进程。例如在中断上下文中。所以你需要非常小心地行事。
关于c - 如何检查进程是否是我的后代(内核模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33894657/