0

您好我正在尝试获取由外壳分叉的应用程序的系统时间和用户时间。我只是不确定我得到什么样的时间,几秒钟?毫秒?有人知道吗?

printf("System time: %ld.%06ld sec\n",usage.ru_stime.tv_sec, usage.ru_stime.tv_usec);
printf("User time:   %ld.%06ld sec\n\n",usage.ru_utime.tv_sec, usage.ru_utime.tv_usec);

这是我得到的结果示例。我有几秒钟的时间,但我不太确定

#   PID Name    System Time User Time                 
*****************************************************
1   12420   firefox 0.148009 sec    0.816051 sec
2   12429   gimp    0.444027 sec    2.512157 sec
3   12442   clear   0.000000 sec    0.000000 sec
4

1 回答 1

1

你既没有得到秒,也没有毫秒,也没有微秒 - 你得到struct timeval. 这是一个由两个字段组成的结构:tv_sec给出整秒,tv_usec给出微秒;后一个值小于一百万(因此它始终是几分之一秒)。

所以这个API支持的分辨率是微秒;你应该在你的打印语句中使用的单位是秒 - 所以你已经正确地做到了。

于 2009-09-28T01:38:47.220 回答