Informazioni si sistema in Rust con sysinfo

Mattepuffo's logo
Informazioni si sistema in Rust con sysinfo

Informazioni si sistema in Rust con sysinfo

Abbiamo già visto come ottenere informazioni di sistema in Rust; oggi replichiamo l'argomento con il modulo sysinfo.

Per installarlo nel vostro progetto aggiungete questa dipendenza al Cargo.toml:

[dependencies]
sysinfo = "0.14.7"

Qui sotto un esempio di codce che ci mostra praticamente tutto:

use sysinfo::{ProcessExt, SystemExt};

fn main() {
    let mut system = sysinfo::System::new_all();
    system.refresh_all();

    println!("PROCESSI DI SISTEMA");
    for (pid, proc_) in system.get_processes() {
        println!("{}:{} => status: {:?}", pid, proc_.name(), proc_.status());
    }
    println!("-----------");

    println!("COMPONENTI");
    for component in system.get_components() {
        println!("{:?}", component);
    }
    println!("-----------");

    println!("DISCHI");
    for disk in system.get_disks() {
        println!("{:?}", disk);
    }
    println!("-----------");

    println!("MEMORIA");
    println!("Totale: {} KiB", system.get_total_memory());
    println!("Usata: {} KiB", system.get_used_memory());
    println!("SWAP Totale: {} KiB", system.get_total_swap());
    println!("SWAP Usata: {} KiB", system.get_used_swap());
}

Abbiamo visualizzato:

  • tutti i processi con il loro stato
  • i componenti hardware (in sostanza mostra solo ciò che riguarda il processore)
  • i dischi e il punto di montaggio
  • informazioni sulla memoria

Enjoy!


Share this Post

Commentami!