是否可以在锈蚀中将功能作为过程运行?

时间:2019-10-04 20:35:27

标签: rust

铁锈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")

是否可以在锈迹斑斑的Windows上创建新进程来运行功能?

1 个答案:

答案 0 :(得分:0)

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

但是,您可以在以下选择中进行选择:

  1. 改为创建一个线程。
  2. 创建一个进程,其中可执行文件是正在运行的相同程序,但是传递了一个不同的参数来触发您感兴趣的功能的执行。
  3. 创建一个Shared Memory Segment
  4. 创建第三个包含您的函数的库,并在您的原始程序和您生成的程序之间共享它。