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
对我来说不是一个解决方案,因为它等待进程完成-文档直接与您的观点相矛盾:。你是说文件不正确吗?