pub struct ProcessRefreshKind { /* private fields */ }
Expand description
Used to determine what you want to refresh specifically on the Process
type.
When all refresh are ruled out, a Process
will still retrieve the following information:
- Process ID (
Pid
) - Parent process ID (on Windows it never changes though)
- Process name
- Start time
⚠️ Just like all other refresh types, ruling out a refresh doesn’t assure you that the information won’t be retrieved if the information is accessible without needing extra computation.
use sysinfo::{ProcessesToUpdate, ProcessRefreshKind, System};
let mut system = System::new();
// We don't want to update the CPU information.
system.refresh_processes_specifics(
ProcessesToUpdate::All,
true,
ProcessRefreshKind::everything().without_cpu(),
);
for (_, proc_) in system.processes() {
// We use a `==` comparison on float only because we know it's set to 0 here.
assert_eq!(proc_.cpu_usage(), 0.);
}
Implementations§
Source§impl ProcessRefreshKind
impl ProcessRefreshKind
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new ProcessRefreshKind
with every refresh set to false
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.cpu(), false);
assert_eq!(r.user(), UpdateKind::Never);
Sourcepub fn everything() -> Self
pub fn everything() -> Self
Creates a new ProcessRefreshKind
with every refresh set to true
or
UpdateKind::OnlyIfNotSet
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.cpu(), true);
assert_eq!(r.user(), UpdateKind::OnlyIfNotSet);
Sourcepub fn cpu(&self) -> bool
pub fn cpu(&self) -> bool
Returns the value of the “cpu” refresh kind.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::new();
assert_eq!(r.cpu(), false);
let r = r.with_cpu();
assert_eq!(r.cpu(), true);
let r = r.without_cpu();
assert_eq!(r.cpu(), false);
Sourcepub fn with_cpu(self) -> Self
pub fn with_cpu(self) -> Self
Sets the value of the “cpu” refresh kind to true
.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::new();
assert_eq!(r.cpu(), false);
let r = r.with_cpu();
assert_eq!(r.cpu(), true);
Sourcepub fn without_cpu(self) -> Self
pub fn without_cpu(self) -> Self
Sets the value of the “cpu” refresh kind to false
.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::everything();
assert_eq!(r.cpu(), true);
let r = r.without_cpu();
assert_eq!(r.cpu(), false);
Sourcepub fn disk_usage(&self) -> bool
pub fn disk_usage(&self) -> bool
Returns the value of the “disk_usage” refresh kind.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::new();
assert_eq!(r.disk_usage(), false);
let r = r.with_disk_usage();
assert_eq!(r.disk_usage(), true);
let r = r.without_disk_usage();
assert_eq!(r.disk_usage(), false);
Sourcepub fn with_disk_usage(self) -> Self
pub fn with_disk_usage(self) -> Self
Sets the value of the “disk_usage” refresh kind to true
.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::new();
assert_eq!(r.disk_usage(), false);
let r = r.with_disk_usage();
assert_eq!(r.disk_usage(), true);
Sourcepub fn without_disk_usage(self) -> Self
pub fn without_disk_usage(self) -> Self
Sets the value of the “disk_usage” refresh kind to false
.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::everything();
assert_eq!(r.disk_usage(), true);
let r = r.without_disk_usage();
assert_eq!(r.disk_usage(), false);
Sourcepub fn user(&self) -> UpdateKind
pub fn user(&self) -> UpdateKind
Returns the value of the “user” refresh kind. It will retrieve the following information:
- user ID
- user effective ID (if available on the platform)
- user group ID (if available on the platform)
- user effective ID (if available on the platform)
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.user(), UpdateKind::Never);
let r = r.with_user(UpdateKind::OnlyIfNotSet);
assert_eq!(r.user(), UpdateKind::OnlyIfNotSet);
let r = r.without_user();
assert_eq!(r.user(), UpdateKind::Never);
Sourcepub fn with_user(self, kind: UpdateKind) -> Self
pub fn with_user(self, kind: UpdateKind) -> Self
Sets the value of the “user” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.user(), UpdateKind::Never);
let r = r.with_user(UpdateKind::OnlyIfNotSet);
assert_eq!(r.user(), UpdateKind::OnlyIfNotSet);
Sourcepub fn without_user(self) -> Self
pub fn without_user(self) -> Self
Sets the value of the “user” refresh kind to UpdateKind::Never
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.user(), UpdateKind::OnlyIfNotSet);
let r = r.without_user();
assert_eq!(r.user(), UpdateKind::Never);
Sourcepub fn memory(&self) -> bool
pub fn memory(&self) -> bool
Returns the value of the “memory” refresh kind.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::new();
assert_eq!(r.memory(), false);
let r = r.with_memory();
assert_eq!(r.memory(), true);
let r = r.without_memory();
assert_eq!(r.memory(), false);
Sourcepub fn with_memory(self) -> Self
pub fn with_memory(self) -> Self
Sets the value of the “memory” refresh kind to true
.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::new();
assert_eq!(r.memory(), false);
let r = r.with_memory();
assert_eq!(r.memory(), true);
Sourcepub fn without_memory(self) -> Self
pub fn without_memory(self) -> Self
Sets the value of the “memory” refresh kind to false
.
use sysinfo::ProcessRefreshKind;
let r = ProcessRefreshKind::everything();
assert_eq!(r.memory(), true);
let r = r.without_memory();
assert_eq!(r.memory(), false);
Sourcepub fn cwd(&self) -> UpdateKind
pub fn cwd(&self) -> UpdateKind
Returns the value of the “cwd” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.cwd(), UpdateKind::Never);
let r = r.with_cwd(UpdateKind::OnlyIfNotSet);
assert_eq!(r.cwd(), UpdateKind::OnlyIfNotSet);
let r = r.without_cwd();
assert_eq!(r.cwd(), UpdateKind::Never);
Sourcepub fn with_cwd(self, kind: UpdateKind) -> Self
pub fn with_cwd(self, kind: UpdateKind) -> Self
Sets the value of the “cwd” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.cwd(), UpdateKind::Never);
let r = r.with_cwd(UpdateKind::OnlyIfNotSet);
assert_eq!(r.cwd(), UpdateKind::OnlyIfNotSet);
Sourcepub fn without_cwd(self) -> Self
pub fn without_cwd(self) -> Self
Sets the value of the “cwd” refresh kind to UpdateKind::Never
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.cwd(), UpdateKind::OnlyIfNotSet);
let r = r.without_cwd();
assert_eq!(r.cwd(), UpdateKind::Never);
Sourcepub fn root(&self) -> UpdateKind
pub fn root(&self) -> UpdateKind
Returns the value of the “root” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.root(), UpdateKind::Never);
let r = r.with_root(UpdateKind::OnlyIfNotSet);
assert_eq!(r.root(), UpdateKind::OnlyIfNotSet);
let r = r.without_root();
assert_eq!(r.root(), UpdateKind::Never);
Sourcepub fn with_root(self, kind: UpdateKind) -> Self
pub fn with_root(self, kind: UpdateKind) -> Self
Sets the value of the “root” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.root(), UpdateKind::Never);
let r = r.with_root(UpdateKind::OnlyIfNotSet);
assert_eq!(r.root(), UpdateKind::OnlyIfNotSet);
Sourcepub fn without_root(self) -> Self
pub fn without_root(self) -> Self
Sets the value of the “root” refresh kind to UpdateKind::Never
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.root(), UpdateKind::OnlyIfNotSet);
let r = r.without_root();
assert_eq!(r.root(), UpdateKind::Never);
Sourcepub fn environ(&self) -> UpdateKind
pub fn environ(&self) -> UpdateKind
Returns the value of the “environ” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.environ(), UpdateKind::Never);
let r = r.with_environ(UpdateKind::OnlyIfNotSet);
assert_eq!(r.environ(), UpdateKind::OnlyIfNotSet);
let r = r.without_environ();
assert_eq!(r.environ(), UpdateKind::Never);
Sourcepub fn with_environ(self, kind: UpdateKind) -> Self
pub fn with_environ(self, kind: UpdateKind) -> Self
Sets the value of the “environ” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.environ(), UpdateKind::Never);
let r = r.with_environ(UpdateKind::OnlyIfNotSet);
assert_eq!(r.environ(), UpdateKind::OnlyIfNotSet);
Sourcepub fn without_environ(self) -> Self
pub fn without_environ(self) -> Self
Sets the value of the “environ” refresh kind to UpdateKind::Never
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.environ(), UpdateKind::OnlyIfNotSet);
let r = r.without_environ();
assert_eq!(r.environ(), UpdateKind::Never);
Sourcepub fn cmd(&self) -> UpdateKind
pub fn cmd(&self) -> UpdateKind
Returns the value of the “cmd” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.cmd(), UpdateKind::Never);
let r = r.with_cmd(UpdateKind::OnlyIfNotSet);
assert_eq!(r.cmd(), UpdateKind::OnlyIfNotSet);
let r = r.without_cmd();
assert_eq!(r.cmd(), UpdateKind::Never);
Sourcepub fn with_cmd(self, kind: UpdateKind) -> Self
pub fn with_cmd(self, kind: UpdateKind) -> Self
Sets the value of the “cmd” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.cmd(), UpdateKind::Never);
let r = r.with_cmd(UpdateKind::OnlyIfNotSet);
assert_eq!(r.cmd(), UpdateKind::OnlyIfNotSet);
Sourcepub fn without_cmd(self) -> Self
pub fn without_cmd(self) -> Self
Sets the value of the “cmd” refresh kind to UpdateKind::Never
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.cmd(), UpdateKind::OnlyIfNotSet);
let r = r.without_cmd();
assert_eq!(r.cmd(), UpdateKind::Never);
Sourcepub fn exe(&self) -> UpdateKind
pub fn exe(&self) -> UpdateKind
Returns the value of the “exe” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.exe(), UpdateKind::Never);
let r = r.with_exe(UpdateKind::OnlyIfNotSet);
assert_eq!(r.exe(), UpdateKind::OnlyIfNotSet);
let r = r.without_exe();
assert_eq!(r.exe(), UpdateKind::Never);
Sourcepub fn with_exe(self, kind: UpdateKind) -> Self
pub fn with_exe(self, kind: UpdateKind) -> Self
Sets the value of the “exe” refresh kind.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::new();
assert_eq!(r.exe(), UpdateKind::Never);
let r = r.with_exe(UpdateKind::OnlyIfNotSet);
assert_eq!(r.exe(), UpdateKind::OnlyIfNotSet);
Sourcepub fn without_exe(self) -> Self
pub fn without_exe(self) -> Self
Sets the value of the “exe” refresh kind to UpdateKind::Never
.
use sysinfo::{ProcessRefreshKind, UpdateKind};
let r = ProcessRefreshKind::everything();
assert_eq!(r.exe(), UpdateKind::OnlyIfNotSet);
let r = r.without_exe();
assert_eq!(r.exe(), UpdateKind::Never);
Trait Implementations§
Source§impl Clone for ProcessRefreshKind
impl Clone for ProcessRefreshKind
Source§fn clone(&self) -> ProcessRefreshKind
fn clone(&self) -> ProcessRefreshKind
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProcessRefreshKind
impl Debug for ProcessRefreshKind
Source§impl Default for ProcessRefreshKind
impl Default for ProcessRefreshKind
Source§fn default() -> ProcessRefreshKind
fn default() -> ProcessRefreshKind
Source§impl PartialEq for ProcessRefreshKind
impl PartialEq for ProcessRefreshKind
impl Copy for ProcessRefreshKind
impl Eq for ProcessRefreshKind
impl StructuralPartialEq for ProcessRefreshKind
Auto Trait Implementations§
impl Freeze for ProcessRefreshKind
impl RefUnwindSafe for ProcessRefreshKind
impl Send for ProcessRefreshKind
impl Sync for ProcessRefreshKind
impl Unpin for ProcessRefreshKind
impl UnwindSafe for ProcessRefreshKind
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut u8)
unsafe fn clone_to_uninit(&self, dst: *mut u8)
clone_to_uninit
)§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more