#proc #linux #info #procfs #sys

lpfs

Retriving infomations from linux proc filesystem

2 unstable releases

0.2.0 Feb 2, 2020
0.1.0 Nov 24, 2019

#10 in #procfs

Download history 24/week @ 2024-03-25 77/week @ 2024-04-01 49/week @ 2024-04-08 78/week @ 2024-04-15 129/week @ 2024-04-22 107/week @ 2024-04-29 215/week @ 2024-05-06 144/week @ 2024-05-13 190/week @ 2024-05-20 281/week @ 2024-05-27 103/week @ 2024-06-03 21/week @ 2024-06-10 47/week @ 2024-06-17 32/week @ 2024-06-24 65/week @ 2024-07-01 19/week @ 2024-07-08

166 downloads per month

MIT license

205KB
3K SLoC

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

No runtime deps