Process 有没有一种方法可以在独立的流程中执行Rust功能?

Process 有没有一种方法可以在独立的流程中执行Rust功能?,process,rust,Process,Rust,我有一个程序,它接受一个名为start master的参数。当它被传递时,我需要启动一个监听端口的守护进程 我有一个功能: fn startMaster() { // Sockets, connections, logic, etc } 我是否可以创建一个在后台执行startMaster的新进程,以便用户可以调用/mainprogram start master,而无需使用bash的& 进程必须独立于主进程,因为它不能在调用进程完成时停止。我需要一个非阻塞解决方案 我的主要计划是: f

我有一个程序,它接受一个名为
start master
的参数。当它被传递时,我需要启动一个监听端口的守护进程

我有一个功能:

fn startMaster() {
    // Sockets, connections, logic, etc
}
我是否可以创建一个在后台执行
startMaster
的新进程,以便用户可以调用
/mainprogram start master
,而无需使用bash的
&

进程必须独立于主进程,因为它不能在调用进程完成时停止。我需要一个非阻塞解决方案

我的主要计划是:

fn main() {
    let args: Vec<String> = env::args().collect();
    let arg1 = &args[1];
    // ...
    match arg1.as_ref() {
        "start-master" => {
            // Starts process in background which executes startMaster function
        }
        _ => println!("Not valid argument")
    }

    // Ends program but now there is an active daemon 
}
fn main(){
让args:Vec=env::args().collect();
设arg1=&args[1];
// ...
匹配arg1.as_ref(){
“启动主机”=>{
//在后台启动执行startMaster函数的进程
}
_=>println!(“无效参数”)
}
//结束程序,但现在有一个活动的守护进程
}

我已经阅读了命令文档。但据我所知,它开始了一个孩子的过程。因此,如果父进程完成,子进程将停止。我现在也在测试,Command也在阻塞
Command
对我来说不是一个解决方案,因为它等待进程完成-文档直接与您的观点相矛盾:。你是说文件不正确吗?