检查某个进程是否 运行
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
}
我想检查某个进程是否比方说 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
}