#process #file-path #executable #dll #dylib #current

process_path

获取当前正在执行的进程或动态库的路径

4 个版本

0.1.4 2022年6月27日
0.1.3 2021年1月7日
0.1.1 2017年1月4日
0.1.0 2017年1月4日

#263文件系统

Download history 1370/week @ 2024-03-14 2069/week @ 2024-03-21 1456/week @ 2024-03-28 1556/week @ 2024-04-04 1845/week @ 2024-04-11 1581/week @ 2024-04-18 1462/week @ 2024-04-25 2343/week @ 2024-05-02 2171/week @ 2024-05-09 2572/week @ 2024-05-16 1929/week @ 2024-05-23 2747/week @ 2024-05-30 2089/week @ 2024-06-06 1476/week @ 2024-06-13 2045/week @ 2024-06-20 2117/week @ 2024-06-27

8,090 每月下载量
用于 4 crates

MIT/Apache

13KB
212

process_path

一个用于获取当前正在执行的进程或当前动态库路径的 Rust 库。

后者对于需要加载存储在文件系统库位置相对路径的资源类型的动态库尤其有用。

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
process_path = "0.1.4"

并将以下内容添加到您的 crate 根目录

use process_path;

示例

此程序将打印其路径到 stdout

use process_path::get_executable_path;

fn main() {
    let path = get_executable_path();
    match path {
        None => println!("The process path could not be determined"),
        Some(path) => println!("{:?}", path)
    }
}

支持的平台

平台 底层 API get_executable_path() get_dylib_path()
Linux readlink(/proc/self/exe) dladdr()
FreeBSD sysctl(3)readlink(/proc/curproc/file) dladdr()
NetBSD readlink(/proc/curproc/exe) dladdr()
DragonflyBSD readlink(/proc/curproc/file) dladdr()
macOS _NSGetExecutablePath() dladdr()
Windows GetModuleFileName() GetModuleHandleEx()

许可证

版权所有 Wesley Wiser 和 process_path 贡献者。

许可协议为以下之一

您可选择。

依赖

~185KB