您好我正在尝试获取应用程序被shell分叉的系统时间和用户时间。我只是不确定我会得到什么样的时间,秒?毫秒?有人知道吗?
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
答案 0 :(得分:1)
你得到的不是秒,也不是毫秒,也不是微秒 - 你得到struct timeval
。这是一个由两个字段组成的结构:tv_sec
给出整秒,tv_usec
给出微秒;后者的价值不到一百万(所以它总是不到一秒)。
所以这个API支持的分辨率是微秒;你应该在print语句中使用的单位是秒 - 所以你已经正确地做了。