Есть ли эффективный способ найти task_struct для указанного pid, без перебора списка task_struct?
task_struct
Если вы хотите найти task_struct из модуля, find_task_by_vpid(pid_t nr) и т. Д. Не будут работать, так как эти функции не экспортируются.
find_task_by_vpid(pid_t nr)
В модуле вы можете использовать следующую функцию вместо:
pid_task(find_vpid(pid), PIDTYPE_PID);
Что не так с использованием одного из следующих?
extern struct task_struct *find_task_by_vpid(pid_t nr); extern struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns);