假设我处于内核模式,我试着知道带有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;
答案 0 :(得分:0)
据我所知,没有内置函数来确定给定的pid是否是当前进程的后代。您应该手动编写该函数。正如您所展示的那样,它相当微不足道,并且不到10行。
请注意。 有时在内核中,没有当前进程。例如,在中断上下文中。所以你需要非常小心。