2008-08-27 138 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,我认为应该解决你的问题。