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.