0

鉴于struct task_struct合作。确定一个进程的年龄的最佳方法是什么?

task_struct用于保存指向它的下一个最小的兄弟姐妹和最大的孩子的特定指针。这在某些内核版本中似乎不再可用。

我专门使用 Android 金鱼内核。我一直在尝试学习如何使用该list_head结构来迭代进程,但我似乎无法弄清楚如何确定每个子进程或兄弟进程的年龄。

那么,什么成员或用途task_struct会这样做呢?

4

2 回答 2

4

我认为您可以在 task_struct 中使用 real_start_time 或 start_time。它在进程创建时更新

    struct timespec start_time;             /* monotonic time */
    struct timespec real_start_time;        /* boot based time */

注意:这是香草内核,不知道 android 内核

于 2014-04-20T15:35:44.750 回答
2

如何保持简单并为您感兴趣的每个进程查找 /proc/PID/ 的 ctime。请注意,可能的时钟调整可能会使 ctime 看起来很奇怪,如果由于此类事件导致经过的时间为负数,则好的程序不应失败。

于 2014-04-20T10:30:45.600 回答