From 98ccc70743e2991ff0fc0e6c7562749ecc087127 Mon Sep 17 00:00:00 2001 From: Clement Tsang <34804052+ClementTsang@users.noreply.github.com> Date: Sun, 29 Dec 2019 21:40:22 -0500 Subject: Fix processes in windows --- src/app/data_collection/processes.rs | 25 ++++++++++++++++++++++--- src/app/process_killer.rs | 2 +- 2 files changed, 23 insertions(+), 4 deletions(-) (limited to 'src/app') diff --git a/src/app/data_collection/processes.rs b/src/app/data_collection/processes.rs index 361e7a26..8e2a42b5 100644 --- a/src/app/data_collection/processes.rs +++ b/src/app/data_collection/processes.rs @@ -192,13 +192,32 @@ pub fn get_sorted_processes_list( } } } else { - // Windows et al. - let process_hashmap = sys.get_process_list(); for process_val in process_hashmap.values() { + let command_name = if process_val.name().is_empty() { + let process_cmd = process_val.cmd(); + if process_cmd.len() > 1 { + process_cmd[0].clone() + } else { + let process_exe = process_val.exe().file_stem(); + if let Some(exe) = process_exe { + let process_exe_opt = exe.to_str(); + if let Some(exe_name) = process_exe_opt { + exe_name.to_string() + } else { + "".to_string() + } + } else { + "".to_string() + } + } + } else { + process_val.name().to_string() + }; + process_vector.push(ProcessData { pid: process_val.pid() as u32, - command: process_val.name().to_string(), + command: command_name, mem_usage_percent: None, mem_usage_kb: Some(process_val.memory()), cpu_usage_percent: f64::from(process_val.cpu_usage()), diff --git a/src/app/process_killer.rs b/src/app/process_killer.rs index cab40729..160139b2 100644 --- a/src/app/process_killer.rs +++ b/src/app/process_killer.rs @@ -33,7 +33,7 @@ impl Process { } /// Kills a process, given a PID. -pub fn _kill_process_given_pid(pid: u64) -> crate::utils::error::Result<()> { +pub fn kill_process_given_pid(pid: u64) -> crate::utils::error::Result<()> { if cfg!(target_os = "linux") { // Linux Command::new("kill").arg(pid.to_string()).output()?; -- cgit v1.2.3