#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum ProcessSortColumn {
#[default]
Cpu,
Memory,
DiskRead,
DiskWrite,
}
#[derive(Clone, Default)]
#[allow(dead_code)]
pub struct ProcessIoData {
pub read_bytes_per_sec: f64,
pub write_bytes_per_sec: f64,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum ProcessStatus {
Running,
Sleeping,
Stopped,
Zombie,
#[default]
Other,
}
#[allow(dead_code)]
impl ProcessStatus {
pub fn to_localized_str(self, lang: crate::localization::Language) -> &'static str {
match lang {
crate::localization::Language::Spanish => match self {
ProcessStatus::Running => "ejecutando",
ProcessStatus::Sleeping => "durmiendo",
ProcessStatus::Stopped => "parado",
ProcessStatus::Zombie => "zombi",
ProcessStatus::Other => "otro",
},
crate::localization::Language::English => match self {
ProcessStatus::Running => "running",
ProcessStatus::Sleeping => "sleeping",
ProcessStatus::Stopped => "stopped",
ProcessStatus::Zombie => "zombie",
ProcessStatus::Other => "other",
},
}
}
}
#[derive(Clone)]
#[allow(dead_code)]
pub struct ProcessData {
pub pid: u32,
pub name: String,
pub user: String,
pub cpu_pct: f64,
pub memory_bytes: u64,
pub memory_pct: f64,
pub disk_read_per_sec: Option<f64>,
pub disk_write_per_sec: Option<f64>,
pub status: ProcessStatus,
pub uptime_secs: u64,
pub threads: u32,
pub exe_path: String,
pub cmd: String,
pub cwd: String,
}