improve error handling for invalid PID input
This commit is contained in:
@@ -44,11 +44,17 @@ fn main() -> Result<()> {
|
|||||||
let mut engine = DetectionEngine::new();
|
let mut engine = DetectionEngine::new();
|
||||||
|
|
||||||
let processes = if let Some(pid_str) = target_pid {
|
let processes = if let Some(pid_str) = target_pid {
|
||||||
let pid: u32 = pid_str.parse().expect("Invalid PID format");
|
let pid: u32 = pid_str.parse().map_err(|_| anyhow::anyhow!("Invalid PID format: {}", pid_str))?;
|
||||||
process::enumerate_processes()?
|
let all_processes = process::enumerate_processes()?;
|
||||||
|
let filtered: Vec<_> = all_processes
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|p| p.pid == pid)
|
.filter(|p| p.pid == pid)
|
||||||
.collect()
|
.collect();
|
||||||
|
|
||||||
|
if filtered.is_empty() {
|
||||||
|
println!("Warning: No process found with PID {}", pid);
|
||||||
|
}
|
||||||
|
filtered
|
||||||
} else {
|
} else {
|
||||||
process::enumerate_processes()?
|
process::enumerate_processes()?
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user