鉴于struct task_struct
合作。确定一个进程的年龄的最佳方法是什么?
task_struct
用于保存指向它的下一个最小的兄弟姐妹和最大的孩子的特定指针。这在某些内核版本中似乎不再可用。
我专门使用 Android 金鱼内核。我一直在尝试学习如何使用该list_head
结构来迭代进程,但我似乎无法弄清楚如何确定每个子进程或兄弟进程的年龄。
那么,什么成员或用途task_struct
会这样做呢?
鉴于struct task_struct
合作。确定一个进程的年龄的最佳方法是什么?
task_struct
用于保存指向它的下一个最小的兄弟姐妹和最大的孩子的特定指针。这在某些内核版本中似乎不再可用。
我专门使用 Android 金鱼内核。我一直在尝试学习如何使用该list_head
结构来迭代进程,但我似乎无法弄清楚如何确定每个子进程或兄弟进程的年龄。
那么,什么成员或用途task_struct
会这样做呢?
我认为您可以在 task_struct 中使用 real_start_time 或 start_time。它在进程创建时更新
struct timespec start_time; /* monotonic time */
struct timespec real_start_time; /* boot based time */
注意:这是香草内核,不知道 android 内核
如何保持简单并为您感兴趣的每个进程查找 /proc/PID/ 的 ctime。请注意,可能的时钟调整可能会使 ctime 看起来很奇怪,如果由于此类事件导致经过的时间为负数,则好的程序不应失败。