#process #proc #process-information #memory

proc-status

Unix上proc/status信息的简单访问

2次发布

0.1.1 2021年3月5日
0.1.0 2021年3月4日

#643 in Unix API

Download history 700/week @ 2024-03-13 759/week @ 2024-03-20 770/week @ 2024-03-27 692/week @ 2024-04-03 628/week @ 2024-04-10 573/week @ 2024-04-17 800/week @ 2024-04-24 836/week @ 2024-05-01 716/week @ 2024-05-08 703/week @ 2024-05-15 521/week @ 2024-05-22 728/week @ 2024-05-29 568/week @ 2024-06-05 781/week @ 2024-06-12 765/week @ 2024-06-19 636/week @ 2024-06-26

2,833 monthly downloads
用于 2 crates

MIT 许可证

12KB
172

MIT [Latest Version][l0] docs Chat on Miaou

proc-status

基本进程信息

数据来自 /proc/<pid>/process,仅在类Unix系统中可用。

这个crate旨在保持非常简单。如果它不能满足你的需求,你可能需要查看更完整的 procfs

示例

打印当前进程的内存信息

let mem = proc_status::mem_usage().unwrap();
println!("Mem usage in bytes: current={}, peak={}", mem.current, mem.peak);

打印类似以下内容

Mem usage in bytes: current=1232896, peak=141430784

打印当前进程状态的所有字段

use proc_status::ProcStatus;

let ps = ProcStatus::read().unwrap();
for entry in ps.entries() {
    let entry = entry.unwrap();
    println!("{} = {:?}", entry.key, entry.value);
}

获取特定条目的原始值

use proc_status::ProcStatus;

let ps = ProcStatus::read().unwrap();
println!("State: {:?}", ps.value("State").unwrap());
println!("VmPeak in bytes: {:?}", ps.value_KiB("VmPeak").unwrap() * 1024);

依赖项

~285–750KB
~18K SLoC