rust wmi cpu 占用率
在 Rust 中使用 WMI 获取 CPU 占用率,可以使用 winapi 和 wmi crates。
以下是一个简单的例子,使用 WMI 查询 CPU 占用率:
use std::collections::HashMap;
use std::thread::sleep;
use std::time::Duration;
use wmi::{COMLibrary, WMIConnection};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let com_con = COMLibrary::new()?;
let wmi_con = WMIConnection::new(com_con.into())?;
let query = "SELECT LoadPercentage FROM Win32_Processor";
let cpu_load: Vec<HashMap<String, i32>> = wmi_con.raw_query(query)?;
loop {
// Get the first CPU load percentage.
let load_percentage = &cpu_load[0]["LoadPercentage"];
println!("CPU Load: {}%", load_percentage);
// Wait for one second.
sleep(Duration::from_secs(1));
}
}
这个例子中,首先创建了一个 WMI 连接,然后执行一个 WMI 查询语句,查询 CPU 占用率。
然后进入一个无限循环,每秒钟打印一次 CPU 占用率。
请注意,这个例子中的 WMIConnection 对象需要在循环外创建,否则每次循环都会创建一个新的连接对象,这样会导致性能问题。
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询