Linux内核中进程的年龄

时间:2014-04-20 05:42:09

标签: c linux linux-kernel kernel android-kernel

给出要使用的struct task_struct。确定流程年龄的最佳方法是什么?

struct task_struct用于保存特定的指针,指向其下一个最年幼的兄弟和最老的孩子。在某些内核版本中似乎不再可用。

我特意使用android金鱼内核。我一直试图学习如何使用list_head结构迭代进程,但我似乎无法弄清楚如何确定每个孩子或兄弟进程的年龄。

那么,task_struct的成员或用法会做什么?

2 个答案:

答案 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看起来很奇怪,如果由于此类事件导致经过的时间为负,那么好的程序不应该失败。