给出要使用的struct task_struct。确定流程年龄的最佳方法是什么?
struct task_struct用于保存特定的指针,指向其下一个最年幼的兄弟和最老的孩子。在某些内核版本中似乎不再可用。
我特意使用android金鱼内核。我一直试图学习如何使用list_head结构迭代进程,但我似乎无法弄清楚如何确定每个孩子或兄弟进程的年龄。
那么,task_struct的成员或用法会做什么?
答案 0 :(得分:3)
我认为你可以在task_struct中使用real_start_time或start_time。 它在创建流程时更新
struct timespec start_time; /* monotonic time */
struct timespec real_start_time; /* boot based time */
注意:这是vanilla kernel对android内核的了解
答案 1 :(得分:2)
如何保持简单并为您感兴趣的每个流程查看/ proc / PID /的ctime。请注意,可能的时钟调整可能会使ctime看起来很奇怪,如果由于此类事件导致经过的时间为负,那么好的程序不应该失败。