检查某个进程是否 运行

Check if a certain process is running

我想检查某个进程是否比方说 notepad.exe 是 运行,我正在使用 Rust,但不知道该怎么做。我想优先使用进程的名称。

您可以使用sysinfo crate, or particularly processes_by_name

您可以使用函数

获取指向包含名称的进程的迭代器
fn processes_by_name<'a>(&'a self, name: &'a str) -> Box<dyn Iterator<Item = &'a Process> + 'a>

你可以这样使用它

use sysinfo::{ProcessExt, System, SystemExt};

let s = System::new_all();
for process in s.processes_by_name("htop") {
    //check here if this is your process
}

更新:新版本 (0.23.0) 还包含 processes_by_exact_name

它 returns 一个迭代器,用于处理具有确切给定名称的进程 你可以这样使用它

use sysinfo::{ProcessExt, System, SystemExt};

let s = System::new_all();
for process in s.processes_by_exact_name("htop") {
    //Your code goes here
}