lpfs

Crates.iolpfs
lib.rslpfs
version0.2.0
sourcesrc
created_at2019-11-24 18:55:39.322545
updated_at2020-02-02 09:47:49.502055
descriptionRetriving infomations from linux proc filesystem
homepage
repositoryhttps://github.com/pearzl/lpfs
max_upload_size
id184018
size207,416
pearzl (pearzl)

documentation

https://docs.rs/crate/lpfs

README

docs.rs crates.io license

The goal of this repo is to make retriving system informations reside in proc file system easier.

Example

use lpfs::proc::*;
use lpfs::pid::*;

fn main() {
    //  /proc/stat
    println!("{:?}", stat().unwrap());

    //  /proc/1/stat
    println!("{:?}", stat_of(1).unwrap());
}

Interface Design

eminence/procfs is a similar crate with different interface design.

Top-Level Files

Each file is retrived by a function reside in lpfs::proc with same name. For example, lpfs::proc::cmdline retrive from /proc/cmdline.

Process Directories

It's similar with top-level files, here is an example with stat.

function file
stat_of(pid) /proc/[pid]/stat
stat_self() /proc/self/stat
stat_of_task(pid, tid) /proc/[pid]/task/[tid]/stat
stat_self_task(tid) /proc/self/task/[tid]/stat

These functions reside in lpfs::pid

Minial Requirement

rust 2018 (rustc 1.31.0 +)

Supported

all linux distribution with 3.+ kernel version.

LICENSE

MIT

Commit count: 65

cargo fmt