ruvector_memopt/windows/
process.rs1use sysinfo::{System, Pid};
4
5pub fn list_processes() -> Result<Vec<u32>, String> {
7 let mut sys = System::new_all();
8 sys.refresh_processes();
9
10 let pids: Vec<u32> = sys.processes()
11 .keys()
12 .map(|pid| pid.as_u32())
13 .collect();
14
15 Ok(pids)
16}
17
18pub fn get_process_name(pid: u32) -> Option<String> {
20 let mut sys = System::new();
21 sys.refresh_processes();
22
23 sys.process(Pid::from_u32(pid))
24 .map(|p| p.name().to_string())
25}
26
27pub fn get_process_memory(pid: u32) -> Option<u64> {
29 let mut sys = System::new();
30 sys.refresh_processes();
31
32 sys.process(Pid::from_u32(pid))
33 .map(|p| p.memory())
34}