有没有办法调用系统命令,比如Rust中的lsfuser?捕获它的输出怎么样?

推荐答案

std::process::Command是允许的.

有多种方法可以生成子进程并在计算机上执行任意命令:

  • spawn-运行程序并返回包含详细信息的值
  • output-运行程序并返回输出
  • status-运行程序并返回退出代码

文档中的一个简单示例:

use std::process::Command;

Command::new("ls")
        .arg("-l")
        .arg("-a")
        .spawn()
        .expect("ls command failed to start");

Rust相关问答推荐

在‘await’点上使用‘std::同步::Mutex’是否总是会导致僵局?

如何优化小型固定大小数组中的搜索?

展开枚举变量并返回所属值或引用

为什么Rust函数的移植速度比C++慢2倍?

有没有办法避免在While循环中多次borrow `*分支`

如何正确地将App handler传递给Tauri中的其他模块?

使用Py03从Rust调用Python函数时的最佳返回类型

在Rust中,Box:ed struct 与普通 struct 在删除顺序上有区别吗?

通过异常从同步代码中产生yield 是如何工作的?

Rust 中的静态引用

中文优化标题:跳出特定循环并返回一个值

Rust与_有何区别?

从 Rust 中的 if/else 中的引用创建 MappedRwLockWriteGuard

Rust 生命周期:这两种类型声明为不同的生命周期

错误:将自定义 proc_macro 与用Rust 的宝贝编写的属性一起使用时,无法在此范围内找到属性

一个函数调用会产生双重borrow 错误,而另一个则不会

如何将参数传递给Rust 的线程?

为什么我可以同时传递可变和不可变引用?

无法把握借来的价值不够长寿,请解释

有没有办法在 Rust 中对 BigInt 进行正确的位移?