2009-09-28 10 views
0

안녕하세요, 저는 시스템 시간과 응용 프로그램의 사용자 시간을 껍질에 의해 포크중인 얻으려고 노력하고있어. 나는 어떤 시간이 걸릴지 모르겠다, 초? 밀리 세컨드? 아무도 몰라?rusage()는 초 또는 밀리 초 단위로 측정 되었습니까?

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 

답변

1

당신은 어느 초도 밀리도 마이크로 얻을 정말 잘 모르겠어요 - 당신이 struct timeval를 얻을. 이것은 두 필드로 구성된 구조입니다. tv_sec은 초 단위이고, tv_usec은 마이크로 초입니다. 후자의 가치는 1 백만 분의 1보다 적습니다 (그래서 항상 1 분의 1 초입니다).

따라서이 API가 지원하는 해상도는 마이크로 초입니다. print 서술문에서 사용해야하는 단위는 초입니다. 그래서 당신은 그것을 올바르게 이미합니다.

+0

감사합니다. – user69514