0
我正在編寫一個代碼來獲取每個進程使用CPU的百分比,但是我的代碼有些問題。它顯示奇怪的值,例如3.63499e + 262%和0%,而任務管理器顯示的值大於0%,小於或等於100%。我做錯了什麼?如何使用SIGAR庫正確獲取使用的CPU的每個進程的百分比
sigar_t *sigarproclist;
sigar_proc_list_t proclist;
sigar_open(&sigarproclist);
sigar_proc_list_get(sigarproclist, &proclist);
for (size_t i = 0; i < proclist.number; i++)
{
sigar_proc_cpu_t cpu;
sigar_proc_cpu_get(sigarproclist, proclist.data[i], &cpu);
sigar_proc_state_t procstate;
sigar_proc_state_get(sigarproclist, proclist.data[i], &procstate);
qDebug() << procstate.name << 100 * cpu.percent << "%";
}
sigar_close(sigarproclist);