#process #name #id #module #list #open #listing

process_list

用于列出操作系统打开的进程的包,通常用于通过名称获取它们的ID

6个版本

0.2.1 2020年1月18日
0.2.0 2020年1月13日
0.1.3 2020年1月12日

#428操作系统

每月 46 次下载
用于 robopilot

MIT 许可

14KB
228

功能

此包以流式方式公开了处理操作系统内加载的进程和模块的功能。

进程列表

此包公开了一个for_each_process函数,用于顺序处理操作系统中打开的每个进程。

示例

将每个进程打印到stdout

use std::path::{Path, PathBuf};
use process_list::for_each_process;
fn print_processes(id : u32, name : &Path) {
    println!("Id: {} --- Name: {}", id, name.display());
}

for_each_process(print_processes).unwrap();

模块列表

此包公开了一个for_each_module函数,用于顺序处理进程加载的每个模块。

示例

将当前进程加载的每个模块打印到stdout

use process_list::for_each_module;
use std::process;

fn print_stuff() {
    env_logger::init();
    for_each_module(process::id(), |(address, size), name| {
        println!("{:016X} - {} \t {}", address, size, name.display())
    })
    .unwrap();
}

特性

您可以通过启用此包的log特性来从它获取日志。

支持

目前只支持Windows,但应该足够简单,可以移植到其他操作系统。

这不是优先事项,但欢迎接受pull请求。

依赖项

~195KB