是否有可能在rust中将功能作为一个进程运行?

问题描述 投票:0回答:1

std::process::Command;结构取Command::new(program),其中program是要执行的程序的路径,如下例所示。

let output = if cfg!(target_os = "windows") {
    Command::new("cmd")
            .args(&["/C", "echo hello"])
            .output()
            .expect("failed to execute process")

是否可以在rust的Windows上创建新进程以运行功能?

rust
1个回答
0
投票

简而言之,创建新流程不仅需要执行的代码,还需要更多的信息。请参见CreateProcess Windows的系统调用。

但是,您可以在这些选择之间进行选择:

  1. 改为创建线程。
  2. 创建一个可执行文件与正在运行的程序相同,但是传递一个不同的参数以触发您感兴趣的功能的执行的进程。
  3. 创建Shared Memory Segment
  4. 创建包含您的函数的第三个库,并在您的原始程序和您生成的程序之间共享它。
© www.soinside.com 2019 - 2024. All rights reserved.