在C中获取当前进程的CPU使用率
时间:2020-03-05 18:43:40 来源:igfitidea点击:
在Windows上,我可以执行以下操作:
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上做同样的事情?
解决方案
回答
检查getrusage,我认为应该可以解决问题。