[][src]Trait sysinfo::SystemExt

pub trait SystemExt: Sized {
    fn new_with_specifics(refreshes: RefreshKind) -> Self;
fn refresh_system(&mut self);
fn refresh_processes(&mut self);
fn refresh_process(&mut self, pid: Pid) -> bool;
fn refresh_disks(&mut self);
fn refresh_disk_list(&mut self);
fn refresh_network(&mut self);
fn get_process_list(&self) -> &HashMap<Pid, Process>;
fn get_process(&self, pid: Pid) -> 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; fn new() -> Self { ... }
fn refresh_specifics(&mut self, refreshes: RefreshKind) { ... }
fn refresh_all(&mut self) { ... }
fn get_process_by_name(&self, name: &str) -> Vec<&Process> { ... } }

Contains all the methods of the [System] type.

Required methods

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();
assert!(system.get_disks().len() > 0);

fn refresh_system(&mut self)

Refresh system information (such as memory, swap, CPU usage and components' temperature).

fn refresh_processes(&mut self)

Get all processes and update their information.

fn refresh_process(&mut self, pid: Pid) -> bool

Refresh only the process corresponding to pid. Returns false if the process doesn't exist.

fn refresh_disks(&mut self)

Refreshes the listed disks' information.

fn refresh_disk_list(&mut self)

The disk list will be emptied then completely recomputed.

fn refresh_network(&mut self)

Refresh data network.

fn get_process_list(&self) -> &HashMap<Pid, Process>

Returns the process list.

fn get_process(&self, pid: Pid) -> Option<&Process>

Returns the process corresponding to the given pid or None if no such process exists.

fn get_processor_list(&self) -> &[Processor]

The first processor in the array is the "main" one (aka the addition of all the others).

fn get_total_memory(&self) -> u64

Returns total RAM size in KiB.

fn get_free_memory(&self) -> u64

Returns free RAM size in KiB.

fn get_used_memory(&self) -> u64

Returns used RAM size in KiB.

fn get_total_swap(&self) -> u64

Returns SWAP size in KiB.

fn get_free_swap(&self) -> u64

Returns free SWAP size in KiB.

fn get_used_swap(&self) -> u64

Returns used SWAP size in KiB.

fn get_components_list(&self) -> &[Component]

Returns components list.

fn get_disks(&self) -> &[Disk]

Returns disks' list.

fn get_network(&self) -> &NetworkData

Returns network data.

fn get_uptime(&self) -> u64

Returns system uptime.

Loading content...

Provided methods

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).

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());

fn refresh_all(&mut self)

Refreshes all system, processes and disks information.

fn get_process_by_name(&self, name: &str) -> Vec<&Process>

Returns a list of process containing the given name.

Loading content...

Implementors

Loading content...