2008-08-27 134 views
0

在Windows上我可以這樣做:獲取當前進程的CPU使用率用C

HANDLE hProcess = GetCurrentProcess(); 

FILETIME ftCreation, ftExit, ftKernel, ftUser; 

GetProcessTimes(hProcess, &ftCreation, &ftExit, &ftKernel, &ftUser); 

SYSTEMTIME stKernel; 
FileTimeToSystemTime(&ftKernel, &stKernel); 

SYSTEMTIME stUser; 
FileTimeToSystemTime(&ftUser, &stUser); 

printf("Time in kernel mode = %uh %um %us %ums", stKernel.wHour, 
      stKernel.wMinute, stKernel.wSecond, stKernel.wMilliseconds)); 
printf("Time in user mode = %uh %um %us %ums", stUser.wHour, 
      stUser.wMinute, stUser.wSecond, stUser.wMilliseconds)); 

我該怎麼辦* nix上的同樣的事情?

回答

3

檢查getrusage,我認爲應該解決你的問題。