ljy634 发表于 2006-5-28 11:32:48

task_struct中的start_time是相对什么时候

task_struct中的start_time是相对什么时候来说的呢,我用Jiffies/HZ去减start_time->tv_sec想获得一个进程运行的总时间,但是返回的却是个负数,有一段时间之后才能变为正的。

armybird1016 发表于 2006-5-28 21:17:01

按照时间滴答数来算的。从1970年1月1号开始。


我查了一下2。4。23的内核,start_time是一个unsigned long,不知道你说的tv_sec是那儿来的。

ljy634 发表于 2006-5-29 12:27:05

我用的是2.6的内核,里面start_time是一个结构体,我曾经打印过start_time->tv_sec,获得的是很小的数字,可以肯定的是不是从1970年1月1号开始的时间滴答数。

在task_struct里的start_time是: struct timespec start_time;
在<linux/time.h>里是这样定义的:
struct timespec {
        time_t        tv_sec;                /* seconds */
        long        tv_nsec;        /* nanoseconds */
};
页: [1]
查看完整版本: task_struct中的start_time是相对什么时候