pub trait SystemExt: Sized {
Show 27 methods
// Required methods
fn new_with_specifics(refreshes: RefreshKind) -> Self;
fn refresh_memory(&mut self);
fn refresh_cpu(&mut self);
fn refresh_temperatures(&mut self);
fn refresh_processes(&mut self);
fn refresh_process(&mut self, pid: i32) -> bool;
fn refresh_disks(&mut self);
fn refresh_disk_list(&mut self);
fn refresh_network(&mut self);
fn get_process_list(&self) -> &HashMap<i32, Process>;
fn get_process(&self, pid: i32) -> Option<&Process>;
fn get_processor_list(&self) -> &[Processor];
fn get_total_memory(&self) -> u64;
fn get_free_memory(&self) -> u64;
fn get_used_memory(&self) -> u64;
fn get_total_swap(&self) -> u64;
fn get_free_swap(&self) -> u64;
fn get_used_swap(&self) -> u64;
fn get_components_list(&self) -> &[Component];
fn get_disks(&self) -> &[Disk];
fn get_network(&self) -> &NetworkData;
fn get_uptime(&self) -> u64;
// Provided methods
fn new() -> Self { ... }
fn refresh_specifics(&mut self, refreshes: RefreshKind) { ... }
fn refresh_system(&mut self) { ... }
fn refresh_all(&mut self) { ... }
fn get_process_by_name(&self, name: &str) -> Vec<&Process> { ... }
}
Expand description
Contains all the methods of the [System
] type.
Required Methods§
Sourcefn new_with_specifics(refreshes: RefreshKind) -> Self
fn new_with_specifics(refreshes: RefreshKind) -> Self
Creates a new [System
] instance and refresh the data corresponding to the
given RefreshKind
.
§Example
use sysinfo::{RefreshKind, System, SystemExt};
// We want everything except disks.
let mut system = System::new_with_specifics(RefreshKind::everything().without_disk_list());
assert_eq!(system.get_disks().len(), 0);
assert!(system.get_process_list().len() > 0);
// If you want the disks list afterwards, just call the corresponding
// "refresh_disk_list":
system.refresh_disk_list();
let disks = system.get_disks();
Sourcefn refresh_memory(&mut self)
fn refresh_memory(&mut self)
Refresh RAM and SWAP usage.
Sourcefn refresh_cpu(&mut self)
fn refresh_cpu(&mut self)
Refresh CPU usage.
Sourcefn refresh_temperatures(&mut self)
fn refresh_temperatures(&mut self)
Refresh components’ temperature.
Sourcefn refresh_processes(&mut self)
fn refresh_processes(&mut self)
Get all processes and update their information.
Sourcefn refresh_process(&mut self, pid: i32) -> bool
fn refresh_process(&mut self, pid: i32) -> bool
Refresh only the process corresponding to pid
. Returns false
if the process doesn’t
exist.
Sourcefn refresh_disks(&mut self)
fn refresh_disks(&mut self)
Refreshes the listed disks’ information.
Sourcefn refresh_disk_list(&mut self)
fn refresh_disk_list(&mut self)
The disk list will be emptied then completely recomputed.
Sourcefn refresh_network(&mut self)
fn refresh_network(&mut self)
Refresh data network.
Sourcefn get_process_list(&self) -> &HashMap<i32, Process>
fn get_process_list(&self) -> &HashMap<i32, Process>
Returns the process list.
Sourcefn get_process(&self, pid: i32) -> Option<&Process>
fn get_process(&self, pid: i32) -> Option<&Process>
Returns the process corresponding to the given pid or None
if no such process exists.
Sourcefn get_processor_list(&self) -> &[Processor]
fn get_processor_list(&self) -> &[Processor]
The first processor in the array is the “main” one (aka the addition of all the others).
Sourcefn get_total_memory(&self) -> u64
fn get_total_memory(&self) -> u64
Returns total RAM size in KiB.
Sourcefn get_free_memory(&self) -> u64
fn get_free_memory(&self) -> u64
Returns free RAM size in KiB.
Sourcefn get_used_memory(&self) -> u64
fn get_used_memory(&self) -> u64
Returns used RAM size in KiB.
Sourcefn get_total_swap(&self) -> u64
fn get_total_swap(&self) -> u64
Returns SWAP size in KiB.
Sourcefn get_free_swap(&self) -> u64
fn get_free_swap(&self) -> u64
Returns free SWAP size in KiB.
Sourcefn get_used_swap(&self) -> u64
fn get_used_swap(&self) -> u64
Returns used SWAP size in KiB.
Sourcefn get_components_list(&self) -> &[Component]
fn get_components_list(&self) -> &[Component]
Returns components list.
Sourcefn get_network(&self) -> &NetworkData
fn get_network(&self) -> &NetworkData
Returns network data.
Sourcefn get_uptime(&self) -> u64
fn get_uptime(&self) -> u64
Returns system uptime.
Provided Methods§
Sourcefn new() -> Self
fn new() -> Self
Creates a new [System
] instance. It only contains the disks’ list and the processes list
at this stage. Use the refresh_all
method to update its internal information (or any of
the refresh_
method).
Sourcefn refresh_specifics(&mut self, refreshes: RefreshKind)
fn refresh_specifics(&mut self, refreshes: RefreshKind)
Refreshes according to the given RefreshKind
. It calls the corresponding
“refresh_” methods.
§Examples
use sysinfo::{RefreshKind, System, SystemExt};
let mut s = System::new();
// Let's just update network data and processes:
s.refresh_specifics(RefreshKind::new().with_network().with_processes());
Sourcefn refresh_system(&mut self)
fn refresh_system(&mut self)
Refresh system information (such as memory, swap, CPU usage and components’ temperature).
If you want some more specific refresh, you might be interested into looking at
refresh_memory
, refresh_cpu
and refresh_temperatures
.
Sourcefn refresh_all(&mut self)
fn refresh_all(&mut self)
Refreshes all system, processes and disks information.
Sourcefn get_process_by_name(&self, name: &str) -> Vec<&Process>
fn get_process_by_name(&self, name: &str) -> Vec<&Process>
Returns a list of process containing the given name
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.