pub struct ProcInfo {
pub pid: u32,
pub ppid: Option<u32>,
pub start_key: u64,
pub started_at_ms: Option<u64>,
pub name: String,
pub cpu_ns: Option<u64>,
pub mem_private: Option<u64>,
pub mem_resident: Option<u64>,
pub mem_commit: Option<u64>,
}Expand description
One process, as the OS reported it at the moment of the snapshot.
Fields§
§pid: u32§ppid: Option<u32>The parent the OS recorded. On Windows it is never updated, so it can
name a process that has exited or a newer one that reused its PID:
check ProcInfo::is_child_of before trusting it.
start_key: u64With pid, identifies this process across snapshots: a new process
that reuses the PID has a different key. Opaque (Windows: creation
time; Linux: start time in clock ticks since boot; macOS: the kernel’s
unique id). 0 when unknown.
started_at_ms: Option<u64>When it started, unix ms.
name: StringThe executable’s name, without directory.
cpu_ns: Option<u64>User + kernel CPU time used so far, in nanoseconds.
mem_private: Option<u64>Private memory in bytes, as MEMORY_METRIC describes.
mem_resident: Option<u64>Working set / resident set in bytes, shared pages included.
mem_commit: Option<u64>Committed private bytes (Windows only).
Implementations§
Source§impl ProcInfo
impl ProcInfo
Sourcepub fn key(&self) -> ProcKey
pub fn key(&self) -> ProcKey
The key that tells this process apart from a later one with its PID.
Sourcepub fn measured(&self) -> bool
pub fn measured(&self) -> bool
The OS couldn’t tell us its CPU or memory (another user’s process on macOS).
Sourcepub fn is_child_of(&self, parent: &ProcInfo) -> bool
pub fn is_child_of(&self, parent: &ProcInfo) -> bool
Whether parent is really this process’s parent: the PID matches and,
where both start times are known, the parent started first (a parent
that started later reused the PID of the real one).